20
NoSQL бази от данни – възможности и приложение Автор: Веселин Николов, М-22528 Ръководител: доц. д-р Калинка Калоянова Катедра: “Компютърна информатика”, ФМИ NoSQL БД – възможности и приложение, Веселин Николов Магистърска теза

NoSQL бази от данни - възможности и приложение, дипломна защита

Embed Size (px)

DESCRIPTION

Това е презентацията от дипломната ми защита, проведена на 18 октомври 2010 г. във ФМИ. Вижте блога ми за подробности.

Citation preview

Page 1: NoSQL бази от данни - възможности и приложение, дипломна защита

NoSQL бази от данни – възможности и приложение

Автор: Веселин Николов, М-22528Ръководител: доц. д-р Калинка КалояноваКатедра: “Компютърна информатика”, ФМИ

NoSQL БД – възможности и приложение, Веселин Николов

Магистърска теза

Page 2: NoSQL бази от данни - възможности и приложение, дипломна защита

Цел на дипломната работа

NoSQL БД – възможности и приложение, Веселин Николов

1. Решение на проблеми в RDBMS чрез употреба на NoSQL

2. Сравнение на различни NoSQL БД с MySQL

Page 3: NoSQL бази от данни - възможности и приложение, дипломна защита

Проблеми пред RDBMS

• Скалируемост• Partitioning• Sharding• Кеширане• Денормализация• Промени в схемата

NoSQL БД – възможности и приложение, Веселин Николов

Page 4: NoSQL бази от данни - възможности и приложение, дипломна защита

NoSQL решения

• Отказ от SQL• Отказ от фиксирана схема• JavaScript, JSON, REST• Евентуална консистентност• MapReduce• GFS, HDFS

NoSQL БД – възможности и приложение, Веселин Николов

Page 5: NoSQL бази от данни - възможности и приложение, дипломна защита

NoSQL бази от данни

• BigTable, Dynamo• Cassandra, Riak• CouchDB, MongoDB• Redis, MemcacheDB• Hadoop, Hbase, RavenDB,

Kyoto Cabinet, Sherpa, Neo4j и др.

NoSQL БД – възможности и приложение, Веселин Николов

Page 6: NoSQL бази от данни - възможности и приложение, дипломна защита

Google BigTable

• Многомерен масив• Колони и семейства от колони• SSTable• Компресия• GFS• 2004 г.

NoSQL БД – възможности и приложение, Веселин Николов

Page 7: NoSQL бази от данни - възможности и приложение, дипломна защита

Amazon Dynamo

• Хоризонтално скалируема• Евентуално консистентна• Равнопоставени сървъри• Key/value БД• put/get• 2007 г.

NoSQL БД – възможности и приложение, Веселин Николов

Page 8: NoSQL бази от данни - възможности и приложение, дипломна защита

Cassandra

• BigTable + Dynamo = Cassandra• Настройваема консистентност• Колони, семейства, суперколони• Cassandra-cli shell• Вместо индекси, нови семейства• Gossip• Java, Thrift

NoSQL БД – възможности и приложение, Веселин Николов

Page 9: NoSQL бази от данни - възможности и приложение, дипломна защита

CouchDB

• Документи• REST, JavaScript, JSON• Материални изгледи• MapReduce• MVCC – ревизии на

документите

NoSQL БД – възможности и приложение, Веселин Николов

Page 10: NoSQL бази от данни - възможности и приложение, дипломна защита

MongoDB

• Документи• Индекси• Mongo shell• JSON, JavaScript, MapReduce• ReplicaSet, auto sharding*

NoSQL БД – възможности и приложение, Веселин Николов

Page 11: NoSQL бази от данни - възможности и приложение, дипломна защита

Hadoop

• HDFS

• MapReduce

• HBase

• Pig

• Hive

NoSQL БД – възможности и приложение, Веселин Николов

Page 12: NoSQL бази от данни - възможности и приложение, дипломна защита

Проведени тестове

• Тестове за запис на данни

• Тестове за извличане на данни

• Обобщения с MapReduce

• Replica Set с MongoDB

• Наблюдение на заеманото място

NoSQL БД – възможности и приложение, Веселин Николов

Page 13: NoSQL бази от данни - възможности и приложение, дипломна защита

Ограничения

• Отделни системи за тест и БД

• Конфигурация по подразбиране

• Малко памет

• Малък мащаб

• Елементарни задачи

NoSQL БД – възможности и приложение, Веселин Николов

Page 14: NoSQL бази от данни - възможности и приложение, дипломна защита

Запис на данни

1000 документа в 1 нишка

MySQL: 49 sec, MongoDB 6.3 sec, Cassandra: 8 sec

NoSQL БД – възможности и приложение, Веселин Николов

Page 15: NoSQL бази от данни - възможности и приложение, дипломна защита

Запис на данни

5000 документа в 50 нишки

MySQL: 65 sec, MongoDB 21 sec, Cassandra: 23 sec

NoSQL БД – възможности и приложение, Веселин Николов

Page 16: NoSQL бази от данни - възможности и приложение, дипломна защита

Извличане на данни

1000 изчитания на статия с нейните коментари, конкурентно в 10 нишки

MySQL: 2.4 sec, CouchDB: 0.57 sec.

NoSQL БД – възможности и приложение, Веселин Николов

Page 17: NoSQL бази от данни - възможности и приложение, дипломна защита

Обобщение

• Прости и бързи

• Скалируеми (ReplicaSet тест)

• MapReduce и SQL

• NoSQL и HDD

• Нужни са тестове, преди внедряване

NoSQL БД – възможности и приложение, Веселин Николов

Page 18: NoSQL бази от данни - възможности и приложение, дипломна защита

Перспективи за развитие

• MongoDB single server durability• Cassandra – конфигурация в реално време• CouchDB – подреждане на MapReduce

• Hadoop PIG, Hadoop Hive QL• MapReduce в RDBMS

NoSQL БД – възможности и приложение, Веселин Николов

Page 19: NoSQL бази от данни - възможности и приложение, дипломна защита

Въпроси?

NoSQL БД – възможности и приложение, Веселин Николов

Page 20: NoSQL бази от данни - възможности и приложение, дипломна защита

Благодаря!

NoSQL БД – възможности и приложение, Веселин Николов