NoSQL өгөгдлийн сан. MongoDB
tmsoft.mn
Н.Баттүшиг, Ж.Гантүшиг
©2014
tmsoft.mn
A NoSQL (often interpreted as Not Only SQL database provides a mechanismfor storage and retrieval of data that is modeled in means other than the tabular relationsused in relational databases. (Wikipedia)
2
NoSQL өгөгдлийн сан
Non-relational, next generation
operational datastores and databases
tmsoft.mn
3
Өгөгдлийн сангийн төрлүүд – Database types
RDBMS OLAP
OLAP (online analytical processing)
NoSQL
tmsoft.mn
4
NoSQL Databases
Relational Databases –
Холбоост өгөгдлийн сан
(1970-оноос)
ХҮНДРЭЛ:
Маш их хэмжээний өгөгдлийг
(big data) боловсруулж
чадахгүй
ХАРИУЛТ
NoSQL databases
Oracle
MSSQL
MySQL
PostgreSQL
(fixed schema)
Flexible schema (Horizontal scalability)
tmsoft.mn
5
Horizontal Scalability ( vs Vertical )
RDBMS
NoSQL
tmsoft.mn
no joins support
no complex transactions support
Fast performance
Horizontally scalable architecture
Query language
-
+
6
NoSQL – Дутагдал, Давуу тал?
tmsoft.mn
Аль алинд нь давуу болон сул тал байгаа тул шийдвэрлэх асуудлаас хамааран
сонгож ашиглах шаардлагатай
7
NoSQL ба Холбоост өгөгдлийн сан
RDBMS
NoSQL
SC
AL
AB
ILIT
Y&
PE
RF
OR
MA
NC
E
FUNCTIONALITY
tmsoft.mn
Data model буюу Өгөгдлийн загвараар нь дараах бүлгүүдэд хувааж болох бөгөөд гол төлөөлөгчдийг нь харуулав.
8
NoSQL өгөгдлийн сангууд
Key/Value Column Graph Document
tmsoft.mn
• C++ хэл дээр бичигдсэн (Кодчлол 2007 оноос эхэлсэн, 2009 онд анхны хувилбар )
• Нээлттэй эхтэй, чөлөөт програм
• Document-Oriented Storage - JSON-style documents with dynamic schemas offer simplicity and power.
• Full Index Support - Index on any attribute, just like you're used to.
• Replication & High Availability - Mirror across LANs and WANs for scale and peace of mind.
• Auto-Sharding - Scale horizontally without compromising functionality.
• Map/Reduce - Flexible aggregation and data processing.
• Production Support - Компани болон дэмжигчид
Хамгийн их ашиглагддаг NoSQL өгөгдлийн сан
9
MongoDB - Open source, high performance database
tmsoft.mn
10
MongoDB – Document database
•JSON documents (BSON)
•Java, Javascript, C#, Python, PHP, Ruby, …, cross platform
•Rich data models (Төрөл бүрийн систем бүтээхэд ашиглах боломжтой)
•Seamlessly map to native programming language types (програмчлалын
хэлний өгөгдлийн төрлүүдтэй шууд холбогддог)
•Flexible for dynamic data
•Better data locality (Өгөгдлийг хайж олоход хялбар)
tmsoft.mn
11
MongoDB – Document database
DOCUMENT – (word, pdf документ гэсэн утгаар биш)
Primary key
Array
Embedded data model
Document
Collection
tmsoft.mn
12
MongoDB – Terminology (Нэршил)
RDBMS MongoDB
table collection
database database
table collection
row document
tmsoft.mn
13
MongoDB – Ашиглахад илүү хялбар
RDBMS
NoSQL
Обьект хандлагат
програмчлалын хэлБичлэгүүдийг обьект
болгон хөрвүүлнэ (ORM)
Обьект хандлагат
програмчлалын хэлХөрвүүлэлт
шаардлагагүй
tmsoft.mn
14
MongoDB төрөл бүрийн системүүдэд хэрэглэгдсэн
3.5T of data
in 20 billion records
live dictionary
MongoDB was
2.5 times faster
than MySQL
Real time
analytics
tmsoft.mn
NoSQL vs RDBMS
• NoSQL өгөгдлийн сангууд нь RDBMS – үүдийг бүрэн орлож чадахгүй, хамтран оршино
• NoSQL өгөгдлийн сан ашигласнаар их хэмжээний өгөгдлийг боловсруулах боломжтой
• MongoDB бол document oriented database бөгөөд хэрэглэхэд хялбар, уян хатан, найдвартай өгөгдлийн сан
15
Дүгнэлт
Top Related