nosql бази от данни - възможности и приложение, дипломна...
DESCRIPTION
Това е презентацията от дипломната ми защита, проведена на 18 октомври 2010 г. във ФМИ. Вижте блога ми за подробности.TRANSCRIPT
![Page 1: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/1.jpg)
NoSQL бази от данни – възможности и приложение
Автор: Веселин Николов, М-22528Ръководител: доц. д-р Калинка КалояноваКатедра: “Компютърна информатика”, ФМИ
NoSQL БД – възможности и приложение, Веселин Николов
Магистърска теза
![Page 2: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/2.jpg)
Цел на дипломната работа
NoSQL БД – възможности и приложение, Веселин Николов
1. Решение на проблеми в RDBMS чрез употреба на NoSQL
2. Сравнение на различни NoSQL БД с MySQL
![Page 3: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/3.jpg)
Проблеми пред RDBMS
• Скалируемост• Partitioning• Sharding• Кеширане• Денормализация• Промени в схемата
NoSQL БД – възможности и приложение, Веселин Николов
![Page 4: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/4.jpg)
NoSQL решения
• Отказ от SQL• Отказ от фиксирана схема• JavaScript, JSON, REST• Евентуална консистентност• MapReduce• GFS, HDFS
NoSQL БД – възможности и приложение, Веселин Николов
![Page 5: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/5.jpg)
NoSQL бази от данни
• BigTable, Dynamo• Cassandra, Riak• CouchDB, MongoDB• Redis, MemcacheDB• Hadoop, Hbase, RavenDB,
Kyoto Cabinet, Sherpa, Neo4j и др.
NoSQL БД – възможности и приложение, Веселин Николов
![Page 6: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/6.jpg)
Google BigTable
• Многомерен масив• Колони и семейства от колони• SSTable• Компресия• GFS• 2004 г.
NoSQL БД – възможности и приложение, Веселин Николов
![Page 7: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/7.jpg)
Amazon Dynamo
• Хоризонтално скалируема• Евентуално консистентна• Равнопоставени сървъри• Key/value БД• put/get• 2007 г.
NoSQL БД – възможности и приложение, Веселин Николов
![Page 8: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/8.jpg)
Cassandra
• BigTable + Dynamo = Cassandra• Настройваема консистентност• Колони, семейства, суперколони• Cassandra-cli shell• Вместо индекси, нови семейства• Gossip• Java, Thrift
NoSQL БД – възможности и приложение, Веселин Николов
![Page 9: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/9.jpg)
CouchDB
• Документи• REST, JavaScript, JSON• Материални изгледи• MapReduce• MVCC – ревизии на
документите
NoSQL БД – възможности и приложение, Веселин Николов
![Page 10: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/10.jpg)
MongoDB
• Документи• Индекси• Mongo shell• JSON, JavaScript, MapReduce• ReplicaSet, auto sharding*
NoSQL БД – възможности и приложение, Веселин Николов
![Page 11: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/11.jpg)
Hadoop
• HDFS
• MapReduce
• HBase
• Pig
• Hive
NoSQL БД – възможности и приложение, Веселин Николов
![Page 12: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/12.jpg)
Проведени тестове
• Тестове за запис на данни
• Тестове за извличане на данни
• Обобщения с MapReduce
• Replica Set с MongoDB
• Наблюдение на заеманото място
NoSQL БД – възможности и приложение, Веселин Николов
![Page 13: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/13.jpg)
Ограничения
• Отделни системи за тест и БД
• Конфигурация по подразбиране
• Малко памет
• Малък мащаб
• Елементарни задачи
NoSQL БД – възможности и приложение, Веселин Николов
![Page 14: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/14.jpg)
Запис на данни
1000 документа в 1 нишка
MySQL: 49 sec, MongoDB 6.3 sec, Cassandra: 8 sec
NoSQL БД – възможности и приложение, Веселин Николов
![Page 15: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/15.jpg)
Запис на данни
5000 документа в 50 нишки
MySQL: 65 sec, MongoDB 21 sec, Cassandra: 23 sec
NoSQL БД – възможности и приложение, Веселин Николов
![Page 16: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/16.jpg)
Извличане на данни
1000 изчитания на статия с нейните коментари, конкурентно в 10 нишки
MySQL: 2.4 sec, CouchDB: 0.57 sec.
NoSQL БД – възможности и приложение, Веселин Николов
![Page 17: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/17.jpg)
Обобщение
• Прости и бързи
• Скалируеми (ReplicaSet тест)
• MapReduce и SQL
• NoSQL и HDD
• Нужни са тестове, преди внедряване
NoSQL БД – възможности и приложение, Веселин Николов
![Page 18: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/18.jpg)
Перспективи за развитие
• MongoDB single server durability• Cassandra – конфигурация в реално време• CouchDB – подреждане на MapReduce
• Hadoop PIG, Hadoop Hive QL• MapReduce в RDBMS
NoSQL БД – възможности и приложение, Веселин Николов
![Page 19: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/19.jpg)
Въпроси?
NoSQL БД – възможности и приложение, Веселин Николов
![Page 20: NoSQL бази от данни - възможности и приложение, дипломна защита](https://reader036.vdocuments.pub/reader036/viewer/2022082323/554fb291b4c9057b298b51bf/html5/thumbnails/20.jpg)
Благодаря!
NoSQL БД – възможности и приложение, Веселин Николов