introduction.pptx
- Количество слайдов: 16
Database Management Systems Implementation Introduction
Course Grading Scheme • Attendance 10% • Homeworks 20% • Quizes 20% • Midterm 20% • Final Exam 30% • Desk cleaning all semester 10% bonus
Books • Text Book: Database System Concepts, 4 th edition, Mc. Graw-Hill Higher Education, ISBN 0 -07 -228363 -7 • Supplement: • Elmasri, Navathe, Fundamentals Of Database Systems W/cd, 3 rd, Addison Wesley, ISBN 0 -8053 -1755 -4. • Hector Garcia-Molina, J. Ullman, J. Widom, Database Systems - The Complete Book, Prentice Hall, ISBN 0 -13031995 -3.
What is the Database? • Is an organized collection of data The data is typically organized to model aspects of reality in a way that supports processes requiring information. For example, Телефонная книжка, Книжная библиотека, Коллекция фотографий, и т. д.
Операции над данными( СRUD) • Create, Read, Update, Delete • For example: Operation SQL HTTP Create INSERT POST Read SELECT GET Update UPDATE PUT/PATCH Delete DELETE
Как это выглядит? • Create • Открыть страницу по первой букве фамилии • Вписать в конец страницы ФИО и телефон • Read • Открыть страницу по первой букве фамилии • Просматривать записи по порядку до совпадения • Update • • Открыть страницу по первой букве фамилии Просматривать записи по порядку до совпадения Зачеркнуть ФИО и телефон Вписать в конец страницы ФИО и телефон • Delete • Открыть страницу по первой букве фамилии • Просматривать записи по порядку до совпадения • Зачеркнуть ФИО и телефон
Про «скорость» телефонной книги • Create — «быстрая» вставка • Read, Update, Delete — всё сводится к поиску записи • Инвариант • В телефонной книге есть 0 или 1 незачёркнутая запись для любой ФИО • Если хотим оценить точнее, то нужно кое-что вспомнить. . .
O(n) и o(n) • Формальное определение • f (n) ∈ O(g(n)) ⇔ ∃k > 0 ∃n 0 ∀n > n 0 f (n) ≤ g(n) · k • f (n) ∈ o(g(n)) ⇔ ∀k > 0 ∃n 0 ∀n > n 0 f (n) ≤ g(n) · k
o(n): Сравнение • Компьютер мощностью 1 Gops: o() 1 Gops 1 Tops o(n) 1 секунда 16 минут o(log 2(n)) 30 микросекунд 40 микросекунд 32 года 32 миллиона лет 30 секунд 11 часов k с. 1000 k o(k · n)
o(n): Примеры •
Вернёмся к телефонной книге • Пусть в книге 100 записей. • Если совсем не сортировать, то поиск за • 100/2 = 50 операций в среднем • Если всё полностью отсортировано, то поиск за • log 2(100) ≈ 6. 64 операции • А в бумажной телефонной книге • log 2(28) + 100/28/2 ≈ 6. 59 операции
Ещё есть ограничения физического мира 1 L 1 cache reference. . . 0. 5 ns 2 Branch mispredict. . . . 5 ns 3 L 2 cache reference. . . . 7 ns 4 Mutex lock/unlock. . . . 25 ns 5 Main memory reference. . . . . 100 ns 6 Compress 1 K bytes with Zippy. . . 3, 000 ns = 3 us 7 Send 2 K bytes over 1 Gbps network. . . . 20, 000 ns = 20 us 8 SSD random read. . . 150, 000 ns = 150 us 9 Read 1 MB sequentially from memory. . . 250, 000 ns = 250 us 10 Round trip within same datacenter. . . 500, 000 ns = 0. 5 ms 11 Read 1 MB sequentially from SSD*. . . 1, 000 ns = 1 ms 12 Disk seek. . . . 10, 000 ns = 10 ms 13 Read 1 MB sequentially from disk. . 20, 000 ns = 20 ms 14 Send packet CA->Netherlands->CA. . 150, 000 ns = 150 ms
Data Model • Hierarchical • Relational • Graph • Object • Document • Key-value • Columnar • Deductive • Spatial • . . .
Usage patterns • Messaging • Counters • Logging + Batch processing • OLTP • Entity enrichment • Versioning • Query Language • Consistency • Availability & Replication • Partition tolerance • Transactions • Backups • Security • . . .
introduction.pptx