LOGOEmerging World of Polyglot       Persistence                   By :                          ●   Duc Nguyen           ...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO              Why NoSQL    The Value of Relational Database              Persistent Data              Concurrency    ...
LOGO             Why NoSQL    Impedance Mismatch
LOGO               Why NoSQL    Attack of the Clusters
LOGO                  Why NoSQL    Common characteristics of NoSQL :       ●   Not using the relational model       ●   R...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO       Aggregate Data Models●   A collection of data that we interact with as a unit.●   Aggregates form the boundarie...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO             Data Models    Complex Schema :
LOGO              Data Models    Graph Databases :
LOGO                        Data Models    Schemaless Databases :    Schemaless databases allow you to freely add fields ...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO            Distribution Models    Single Server :
LOGO           Distribution Models    Sharding :
LOGO           Distribution Models    Master-Slave Replication :
LOGO            Distribution Models    Peer-to-peer Replication :
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO                     Consistency    Update Consistency :        Write-write conflicts occur when two clients try     ...
LOGO              Consistency    Read Consistency :
LOGO              Consistency    Read Consistency :
LOGO              Consistency    CAP Theorem :
LOGO                Consistency    Some Consistency Model:          Strong consistency.          Weak consistency.       ...
LOGO                    Consistency    Eventually consistent:         Causal Consistency.         Read-You-Writes Consist...
LOGO                  ContentPart I :     1    Why NoSQL             2   Aggregate Data ModelsUnderstand             3   D...
LOGO          Stamps & Map-Reduce    Stamps :      Version stamps help you detect concurrency conflicts      Version stam...
LOGO         Stamps & Map-Reduce    Map-Reduce : Basic
LOGO         Stamps & Map-Reduce    Map-Reduce : Partitioning and Combining
LOGO         Stamps & Map-Reduce    Map-Reduce : Partitioning and Combining
LOGO         Stamps & Map-Reduce    Map-Reduce : Partitioning and Combining
LOGO         Stamps & Map-Reduce    Map-Reduce : Partitioning and Combining
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGO            ContentPart II :Implement
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGO            Key-Value Databases    Comparison with Oracle :
LOGO                   Key-Value Databases    What Is a Key – Value Store :    The simplest NoSQL data stores to use    F...
LOGO                 Key-Value Databases    Key-Value Store Features :       Consistency : applicable only for operations...
LOGO                Key-Value Databases    Suitable Use Cases :       Storing Session Information : every web session is ...
LOGO                Key-Value Databases    When Not to Use :       Relationships among Data :       Multioperation Transa...
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGO            Document Databases    Comparison with Oracle :
LOGO            Document Databases    What Is a Document Database :
LOGO               Document Databases    Features :         Consistency : using the replica sets and choosing to wait for...
LOGO                Document Databases    Features :        Query Features : provide different query features. CouchDB al...
LOGO               Document Databases    Features :         Scaling : When a new nod is added , it will sync up with the ...
LOGO               Document Databases    Suitable Use Cases :         Event Logging : Application have different event lo...
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGOColumn-Family Stores
LOGO                  ContentPart II :   1   Key-Value Database            2   Document Database            3Implement    ...
LOGO               Graph Databases    Common characteristics :        ●   What is a Graph Databases ?        ●   Features...
LOGO              Graph Databases    What is Graph Databases :
LOGO                   Graph Databases    What is Graph Databases :     ●   Graph databases allow you to store entities a...
LOGO                     Graph Databases    Features :     ●   Consistency.     ●   Transactions.     ●   Availability.  ...
LOGO                    Graph Databases    Neo4J:    ●   We have to create relationship between the nodes in        both ...
LOGO                   Graph Databases    Consistency:     ●   Graph databases ensure consistency through         transac...
LOGO                   Graph Databases    Transactions:     ●   Neo4J is ACID-compliant.     ●   Before changing any node...
LOGO                    Graph Databases    Availability:      ●   Neo4J achieves high availability by providing for      ...
LOGO                   Graph Databases    Query Features:     ●   Graph databases are supported by query languages       ...
LOGO                   Graph Databases    Scaling:     ●   With graph databases, sharding is difficult.     ●   The worki...
LOGO                  Graph Databases    Suitable use cases:     ●   Connected Data     ●   Routing, Dispatch, and Locati...
LOGO                   Graph Databases    When not to use:     ●   Problem when you want to update all or a subset of    ...
LOGO         XU HƯỚNG PHÁT TRIỂN    Động lực phát triển:•    Ngăn ngừa những sự phức tạp không cần thiết•    Tính chịu tả...
LOGO        XU HƯỚNG PHÁT TRIỂN    Động lực phát triển:•    Xóa bỏ tư duy về một cơ sở dữ liệu có thể giải quyết    tất c...
LOGO        XU HƯỚNG PHÁT TRIỂN    Phân loại: (Theo lý thuyết CAP)
Nội dung                    LOGO1    Giới thiệu2    Xu hướng phát triển3    Các nguyên lý hoạt động4    Hệ cơ sở dữ liệu M...
LOGO        Các nguyên lý hoạt động    Lý thuyết CAP :
LOGO              Các nguyên lý hoạt động    Sự phân chia:            Memory Cached ( bộ nhớ Cache) .            Cluste...
LOGO        Các nguyên lý hoạt động    Các mô hình lưu trữ :                   Lưu trữ theo hàng
LOGO        Các nguyên lý hoạt động    Các mô hình lưu trữ :                   Lưu trữ theo cột
LOGO        Các nguyên lý hoạt động    Các mô hình lưu trữ :                   Lưu trữ theo nhóm cột
LOGO        Các nguyên lý hoạt động    Các mô hình lưu trữ:          Lưu trữ sử dụng mô hình cấu trúc cây hợp nhất
LOGO        Các nguyên lý hoạt động    Mô hình truy vấn:          Truy vấn tương tự như các hệ CSDL quan hệ
LOGO        Các nguyên lý hoạt động    Mô hình truy vấn:          Truy vấn sử dụng phương thức tán xạ tập hợp
LOGO        Các nguyên lý hoạt động    Mô hình truy vấn:          Truy vấn sử dụng cây B++ tree
LOGO        Các nguyên lý hoạt động    Đánh giá hiệu xuất truy vấn :
Nội dung                    LOGO1    Giới thiệu2    Xu hướng phát triển3    Các nguyên lý hoạt động4    Hệ cơ sở dữ liệu M...
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB  Tạo cơ sở dữ liệu (Collection).db.createCollection(<name> ,{<configuration parameters >...
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB  Thêm một tài liệu :db.<collection>.insert({ title:"MongoDB",last_editor: ... }) ;  Tru...
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB  Cập nhật dữ liệu :db.<collection>.update (<criteria>,<newdocument>,<upsert>,<multi >) ;...
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    INSERT với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    INSERT với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    truy vấn đơn giản với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    truy vấn đơn giản với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    truy vấn phức tạp với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    So sánh với hiệu suất khi thực thi lệnh    truy vấn phức tạp với SQL Server:
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    Chạy Demo so sánh INSERT với    MySQL:(mili giây)
LOGO    HỆ CƠ SỞ DỮ LiỆU MONGODB    Chạy Demo so sánh INSERT với    MySQL:(mili giây)
Nội dung                    LOGO1    Giới thiệu2    Xu hướng phát triển3    Các nguyên lý hoạt động4    Hệ cơ sở dữ liệu M...
LOGO                 Tổng kếtƯu điểm :    + Đáp ứng được được hiệu suất cao , chịu tải lớn.    + Khả năng mở rộng theo ch...
LOGO                     Tổng kếtNhược điểm:        + Đại đa số đều đang trong quá trình phát triển .        + Đa số đều ...
LOGO                         Tổng kết    NoSQL hay SQL:    Các chuyên gia khuyên rằng khi phát triển ứng dụng nhà sản xuấ...
Nội dung                    LOGO1    Giới thiệu2    Xu hướng phát triển3    Các nguyên lý hoạt động4    Hệ cơ sở dữ liệu M...
LOGO                 Tài liệu tham khảo1.   NoSQL resources: http://nosql-database.org/2.   NoSQL wiki - http://en.wikiped...
LOGO www.themegallery.comThank You !          LOG          O
Upcoming SlideShare
Loading in …5
×

Nosql emerging world of polygot persistence

1,919 views

Published on

Nosql emerging world of polygot persistence

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,919
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Nosql emerging world of polygot persistence

  1. 1. LOGOEmerging World of Polyglot Persistence By : ● Duc Nguyen LOG ● Vu Truong O
  2. 2. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  3. 3. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  4. 4. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  5. 5. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  6. 6. LOGO Why NoSQL The Value of Relational Database Persistent Data Concurrency Integration Standard Model
  7. 7. LOGO Why NoSQL Impedance Mismatch
  8. 8. LOGO Why NoSQL Attack of the Clusters
  9. 9. LOGO Why NoSQL Common characteristics of NoSQL : ● Not using the relational model ● Running well on clusters ● Open-source ● Built for the 21th century web estates ● Schemaless
  10. 10. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  11. 11. LOGO Aggregate Data Models● A collection of data that we interact with as a unit.● Aggregates form the boundaries for ACID operations with the database.● Key-Value , documents and column-family databases can all be seen as forms of aggregate-oriented DB.● Aggregates make it easier for the database to manage data storage over clusters.● Aggregate-oriented databases work best when most data interaction is done.
  12. 12. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  13. 13. LOGO Data Models Complex Schema :
  14. 14. LOGO Data Models Graph Databases :
  15. 15. LOGO Data Models Schemaless Databases : Schemaless databases allow you to freely add fields to records. But there is usually an implicit schema expected by users of the data
  16. 16. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  17. 17. LOGO Distribution Models Single Server :
  18. 18. LOGO Distribution Models Sharding :
  19. 19. LOGO Distribution Models Master-Slave Replication :
  20. 20. LOGO Distribution Models Peer-to-peer Replication :
  21. 21. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  22. 22. LOGO Consistency Update Consistency : Write-write conflicts occur when two clients try to write the same data at the same time. Pessimistic approaches lock data records to prevent conflicts. Optimistic approaches detect conflicts and fix them.
  23. 23. LOGO Consistency Read Consistency :
  24. 24. LOGO Consistency Read Consistency :
  25. 25. LOGO Consistency CAP Theorem :
  26. 26. LOGO Consistency Some Consistency Model: Strong consistency. Weak consistency. Eventually Consistent
  27. 27. LOGO Consistency Eventually consistent: Causal Consistency. Read-You-Writes Consistency. Session Consistency. Monotonic Read Consistency. Monotonic Write Consistency.
  28. 28. LOGO ContentPart I : 1 Why NoSQL 2 Aggregate Data ModelsUnderstand 3 Data Models 4 Distribution Models 5 Consistency 6 Stamps & Map-Reduce
  29. 29. LOGO Stamps & Map-Reduce Stamps : Version stamps help you detect concurrency conflicts Version stamps can be implemented using counters, GUIDs , content hashes, timestamps, or a combination of these. With distributed systems, a vector of version stamps allows you to detect when different nodes have conflicting updates
  30. 30. LOGO Stamps & Map-Reduce Map-Reduce : Basic
  31. 31. LOGO Stamps & Map-Reduce Map-Reduce : Partitioning and Combining
  32. 32. LOGO Stamps & Map-Reduce Map-Reduce : Partitioning and Combining
  33. 33. LOGO Stamps & Map-Reduce Map-Reduce : Partitioning and Combining
  34. 34. LOGO Stamps & Map-Reduce Map-Reduce : Partitioning and Combining
  35. 35. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  36. 36. LOGO ContentPart II :Implement
  37. 37. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  38. 38. LOGO Key-Value Databases Comparison with Oracle :
  39. 39. LOGO Key-Value Databases What Is a Key – Value Store : The simplest NoSQL data stores to use From an API perspective. Some of the popular key-value database : Riak, Memcached DB , Berkeley DB, Hamster DB , Amazon Dynamo DB ....
  40. 40. LOGO Key-Value Databases Key-Value Store Features : Consistency : applicable only for operations on a single key , operations are either a GET, PUT, or DELETE on a SINGLE KEY. Transactions : Different products of the key-value store kind have different specifications of transactions. Query Features : Only support query by the key. Structure of Data : Dont care what is stored in the value part of the key-value. The value can be a blob, text, JSON, XML ... Scaling : many key-value stores scale by using sharding.
  41. 41. LOGO Key-Value Databases Suitable Use Cases : Storing Session Information : every web session is unique and is assigned a unique session value.This single-request operation makes it very fast. Solutions such as Memcached are used by many web applications. User Profiles , Preferences : cause almost every user has a unique userId , username , or some other attribute . Shopping Cart Data : for E-commerce websites...
  42. 42. LOGO Key-Value Databases When Not to Use : Relationships among Data : Multioperation Transactions: Query by Data: Operations by Sets:
  43. 43. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  44. 44. LOGO Document Databases Comparison with Oracle :
  45. 45. LOGO Document Databases What Is a Document Database :
  46. 46. LOGO Document Databases Features : Consistency : using the replica sets and choosing to wait for the writes to be replicated to all the slaves or a given number of slavers. Transactions : Transactions at the single-document level are known as atomic transactions. Its not possible with more than one operation. Availability : Try to improve on available by replicating data using the master-slave setup. Providing high availability using replica sets.
  47. 47. LOGO Document Databases Features : Query Features : provide different query features. CouchDB allows you to query via view. One of good features of document databases, as compared to key-value stores , is that we can query the data inside the document without having to retrieve the whole document by its key and introspect the document.
  48. 48. LOGO Document Databases Features : Scaling : When a new nod is added , it will sync up with the existing nodes, join the replica set as secondary node , and start serving read request.
  49. 49. LOGO Document Databases Suitable Use Cases : Event Logging : Application have different event logging needs; within the enterprise, these are many different applications that want to log events. Documents DB can store all these different types of events and can act as a central data store for event storage. Content Management Systems, Blogging Platforms: They work well in content management systems or applications for publishing websites, managing user comments , user registrations, profiles, web-facing documents... Web Analytics or Real-Time Analytics: store data for real-time analytics, since parts of the document can be updated.Its very easy to store page views or unique visitors. E-Commerce Applications : often need to have flexible schema for products and orders, as well as the ability to evolve their data models without expensive database refactoring or data migration.
  50. 50. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  51. 51. LOGOColumn-Family Stores
  52. 52. LOGO ContentPart II : 1 Key-Value Database 2 Document Database 3Implement Column-Family Stores 4 Graph Databases 5 Schema Migrations & Polygot Persistence 6 Choosing Your Database
  53. 53. LOGO Graph Databases Common characteristics : ● What is a Graph Databases ? ● Features ● Suitable Use Cases ● When Not to Use
  54. 54. LOGO Graph Databases What is Graph Databases :
  55. 55. LOGO Graph Databases What is Graph Databases : ● Graph databases allow you to store entities and relationships between these entities. ● We can query the graph in many ways. ● A query on the graph is also known as traversing the graph. ● In graph databases, traversing the joins or relationships is very fast.
  56. 56. LOGO Graph Databases Features : ● Consistency. ● Transactions. ● Availability. ● Query Features. ● Scaling.
  57. 57. LOGO Graph Databases Neo4J: ● We have to create relationship between the nodes in both directions ● Relationships are first-class citizens in graph databases ● Relationships don’t only have a type, a start node, and an end node, but can have properties of their own.
  58. 58. LOGO Graph Databases Consistency: ● Graph databases ensure consistency through transactions. ● When running Neo4J in a cluster, a write to the master is eventually synchronized to the slaves. ● Slaves are always available for read. ● They do not allow dangling relationships.
  59. 59. LOGO Graph Databases Transactions: ● Neo4J is ACID-compliant. ● Before changing any nodes or adding any relationships to existing nodes, we have to start a transaction. ● Read operations can be done without initiating a transaction.
  60. 60. LOGO Graph Databases Availability: ● Neo4J achieves high availability by providing for replicated slaves. ● These slaves can also handle writes. ● Neo4J uses the Apache ZooKeeper to keep track.
  61. 61. LOGO Graph Databases Query Features: ● Graph databases are supported by query languages such as Gremlin. ● Gremlin is a domain-specific language for traversing Graphs. ● Neo4J also has the Cypher query language for querying the graph. ● Neo4J allows you to query the graph for properties of the nodes, traverse the graph, or navigate the nodes ● Properties of a node can be indexed using the indexing service. ● Neo4J uses Lucene as its indexing service.
  62. 62. LOGO Graph Databases Scaling: ● With graph databases, sharding is difficult. ● The working set of nodes and relationships is held entirely in memory. ● Adding more slaves with read-only access to the data ● Sharding the data from the application side using domain-specific knowledge.
  63. 63. LOGO Graph Databases Suitable use cases: ● Connected Data ● Routing, Dispatch, and Location-Based Services. ● Recommendation Engines.
  64. 64. LOGO Graph Databases When not to use: ● Problem when you want to update all or a subset of entities.
  65. 65. LOGO XU HƯỚNG PHÁT TRIỂN Động lực phát triển:• Ngăn ngừa những sự phức tạp không cần thiết• Tính chịu tải cao ( High Throughput ).• Khả năng mở rộng theo chiều ngang và• chạy được trên các phần cứng thông thường.• Tính phức tạp và chi phí để thiết lập các cụm cơ sở dữ liệu.• Thỏa hiệp giữ độ tin cậy và hiệu suất cao
  66. 66. LOGO XU HƯỚNG PHÁT TRIỂN Động lực phát triển:• Xóa bỏ tư duy về một cơ sở dữ liệu có thể giải quyết tất cả các vấn đề liên quan đến lưu trữ dữ liệu.• Ước mơ về một sự phân bố đơn giản và phân vùng của các mô hình dữ liệu tập trung.• Sự phát triển của ngôn ngữ lập trình và các frameworks.• Đáp ứng yêu cầu của điện toán đám mây.
  67. 67. LOGO XU HƯỚNG PHÁT TRIỂN Phân loại: (Theo lý thuyết CAP)
  68. 68. Nội dung LOGO1 Giới thiệu2 Xu hướng phát triển3 Các nguyên lý hoạt động4 Hệ cơ sở dữ liệu MongoDB5 Tổng kết6 Tài liệu tham khảo
  69. 69. LOGO Các nguyên lý hoạt động Lý thuyết CAP :
  70. 70. LOGO Các nguyên lý hoạt động Sự phân chia:  Memory Cached ( bộ nhớ Cache) .  Clustering ( Bó ) .  Separating Reads from Writes ( Tách biệt giữa việc đọc và ghi) .
  71. 71. LOGO Các nguyên lý hoạt động Các mô hình lưu trữ : Lưu trữ theo hàng
  72. 72. LOGO Các nguyên lý hoạt động Các mô hình lưu trữ : Lưu trữ theo cột
  73. 73. LOGO Các nguyên lý hoạt động Các mô hình lưu trữ : Lưu trữ theo nhóm cột
  74. 74. LOGO Các nguyên lý hoạt động Các mô hình lưu trữ: Lưu trữ sử dụng mô hình cấu trúc cây hợp nhất
  75. 75. LOGO Các nguyên lý hoạt động Mô hình truy vấn: Truy vấn tương tự như các hệ CSDL quan hệ
  76. 76. LOGO Các nguyên lý hoạt động Mô hình truy vấn: Truy vấn sử dụng phương thức tán xạ tập hợp
  77. 77. LOGO Các nguyên lý hoạt động Mô hình truy vấn: Truy vấn sử dụng cây B++ tree
  78. 78. LOGO Các nguyên lý hoạt động Đánh giá hiệu xuất truy vấn :
  79. 79. Nội dung LOGO1 Giới thiệu2 Xu hướng phát triển3 Các nguyên lý hoạt động4 Hệ cơ sở dữ liệu MongoDB5 Tổng kết6 Tài liệu tham khảo
  80. 80. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB Tạo cơ sở dữ liệu (Collection).db.createCollection(<name> ,{<configuration parameters >}) Định nghĩa một tài liệu : dùng JSON{title : " MongoDB " ,last_editor : "172.5.123.91" ,last_modified: new Date ( " 9/23/2010 " ) ,body : " MongoDB is a ..." ,categories : [" Database " , " NoSQL " , " Document Database ],reviewed : false}
  81. 81. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB Thêm một tài liệu :db.<collection>.insert({ title:"MongoDB",last_editor: ... }) ; Truy xuất một tài liệu :db.< collection >. find ( { categories : [ "NoSQL " , " Document Database" ] } ) ; Cập nhật tài liệu : db.< collection >.save ( { ... } ) ;
  82. 82. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB Cập nhật dữ liệu :db.<collection>.update (<criteria>,<newdocument>,<upsert>,<multi >) ; Xóa tài liệu:db.< collection >.remove ( { < criteria > } ) ; Tạo chỉ mục: db.< collection >.ensureIndex ({ < field1 >:< sorting >,< field2 >:< sorting > , ...}) ;
  83. 83. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh INSERT với SQL Server:
  84. 84. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh INSERT với SQL Server:
  85. 85. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh truy vấn đơn giản với SQL Server:
  86. 86. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh truy vấn đơn giản với SQL Server:
  87. 87. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh truy vấn phức tạp với SQL Server:
  88. 88. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB So sánh với hiệu suất khi thực thi lệnh truy vấn phức tạp với SQL Server:
  89. 89. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB Chạy Demo so sánh INSERT với MySQL:(mili giây)
  90. 90. LOGO HỆ CƠ SỞ DỮ LiỆU MONGODB Chạy Demo so sánh INSERT với MySQL:(mili giây)
  91. 91. Nội dung LOGO1 Giới thiệu2 Xu hướng phát triển3 Các nguyên lý hoạt động4 Hệ cơ sở dữ liệu MongoDB5 Tổng kết6 Tài liệu tham khảo
  92. 92. LOGO Tổng kếtƯu điểm : + Đáp ứng được được hiệu suất cao , chịu tải lớn. + Khả năng mở rộng theo chiều ngang. + Chạy được trên nhiều phần cứng phổ thông. + Đáp ứng được nhu cầu của điện toán đám mây.
  93. 93. LOGO Tổng kếtNhược điểm: + Đại đa số đều đang trong quá trình phát triển . + Đa số đều là phần mềm nguồn mở . Khó có thể được chấp nhận trong các môi trường kinh doanh lớn. + Không ràng buộc tức là không đảm bảo được tính toàn vẹn của dữ liệu. + Không đáp ứng được nhu cầu của nhiều loại ứngdụng.
  94. 94. LOGO Tổng kết NoSQL hay SQL: Các chuyên gia khuyên rằng khi phát triển ứng dụng nhà sản xuất nên quan tâm tới các NoSQL. Và ứng dụng của bạn nên chuyển qua NoSQL khi thấy thực sự cần thiết.
  95. 95. Nội dung LOGO1 Giới thiệu2 Xu hướng phát triển3 Các nguyên lý hoạt động4 Hệ cơ sở dữ liệu MongoDB5 Tổng kết6 Tài liệu tham khảo
  96. 96. LOGO Tài liệu tham khảo1. NoSQL resources: http://nosql-database.org/2. NoSQL wiki - http://en.wikipedia.org/wiki/NoSQL3. Scalability wiki - http://en.wikipedia.org/wiki/Scalability#Scale_horizontally_. 28scale_out.294. A Brief History of NoSQL - http:// blog.knuthaugen.no/2010/03/a-brief-history-of-nosql.html5. Nhất Quán Cuối Cùng - http:// www.sqlviet.com/blog/nhat-quan-cuoi-cung.6. NoSQL Brief Guide to the Emerging World of Polygot Persistence. Martin Fowler.
  97. 97. LOGO www.themegallery.comThank You ! LOG O

×