Presentation is loading. Please wait.

Presentation is loading. Please wait.

Database Design for NoSQL System GROUP 18: 7140263 - Lê Nhựt Trường 1570234 - Phạm Thành Trí 7141161 - Nguyễn Ngọc Tuyển 7140265 - Võ Thái Tuyến.

Similar presentations


Presentation on theme: "Database Design for NoSQL System GROUP 18: 7140263 - Lê Nhựt Trường 1570234 - Phạm Thành Trí 7141161 - Nguyễn Ngọc Tuyển 7140265 - Võ Thái Tuyến."— Presentation transcript:

1 Database Design for NoSQL System GROUP 18: 7140263 - Lê Nhựt Trường 1570234 - Phạm Thành Trí 7141161 - Nguyễn Ngọc Tuyển 7140265 - Võ Thái Tuyến

2 Topics  Introduction  Data Models  Data Representation in NoAM  Implementation  Conclusion  Q&A 2

3 Introduction More than 50 systems are available. 3

4 Introduction(cont.) Conceptual Data Modeling Aggregate Design Aggregate Partitioning High-level NoSQL Database Design Implementation => To identify the various entities, relationships => To identify various classes of aggregate object needed in application => Aggregate was partitioned into smaller data elements => Aggregate are mapped to the NoAM intermediate data model => To map the intermediate data representation to the specific modeling elements of target data store 4

5 Data Model 5 Introduction Data Model Data Represent ation Implemen tation

6 Data Model  NoSQL Database Models  Application Data Model  Aggregate Data Model  The NoAM Abstract Data Model 6

7 NoSQL Database Models  Key-value stores.  Extensible record stores.  Document stores. 7

8 Application Data Model  Using object-based data model: entities, value objects and relationships 8

9 Aggregate Data Model  Application dataset.  Aggregate classes – each having a distinct name.  The extent of aggregate class in a set of aggregate objects  Each aggregate object has a complex value and identifier 9

10 Aggregate Partition  Use a single element: small size or most its data is accessed or modified together.  Use multiple elements: large size and the operations frequently access or modify only specific portions of aggregate  Two or more data elements should belong to the same element if they are frequently accessed or modified together  Two or more data elements should belong to distinct elements if they are usually accessed or modified separately. 10

11 Aggregate Partition(cont.)  Example: 11

12 The NoAM Abstract Data Model  A NoAM database is a set of collections  A collection is a set of blocks  A block is non-empty set of entries  Each entry is a pair 12

13 Data Representation 13 Introduction Data Model Data Representati on Implemen -tation

14 Data Representation in NoAM 14

15 Data Representation in NoAM(cont.) 2 strategies EAO Entry per Aggregate Object ETF Entry per Top-level Field 15

16 Data Representation in NoAM(cont.) Collection Have more blocks Block Has single entry Entry key Empty Entry value whole complex value EAO 16

17 Data Representation in NoAM(cont.) Collection Have more blocks Block Have multiple entries Entry key Attribute name Entry value Attribute value ETF 17

18 Data Representation-Example mary username: “mary” firstName: “Momo” lastName: “Wilson” Games { (game: Game:2345, opponent : Player: rick), (game: Game: 2611, opponent: Player: ann)} Player Collection Name Block key Entry key(ek) entry Entry value (ev)  EAO : 18

19 Data Representation-Example  ETF mary username firstName lastName Games “mary” “Momo” “Wilson” {(game: Game:2345, opponent : Player: rick), (game: Game: 2611, opponent: Player: ann)} 19 Player

20 Implementation 20 Introduction Data Model Data Represent ation Implementation

21 Implement NoAM in NoSQL System Key-Value Store Extensible Record Store Document Store 21

22 Key-value store: Oracle NoSQL ETF: username firstName “mary” “Momo” Player Key ( major key - minor key ): Collection / block key - entry key Value: Entry value Player/mary/-/username mary Player/mary/-/firstName Momo 22 Collection Name mary Block key Entry key(ek) entry Entry value (ev)

23 Key-value store: Oracle NoSQL EAO : mary username: “mary” firstName: “Momo” …….. Player Key ( major key - minor key ): Collection / block key-entry key Value: Entry value 23 Question1 ?

24 Extensible Record Store:DynamoDB username firstName “mary” “Momo” Player mary Value 24 username mary firstName Momo

25 Document Store : MongoDB iddocument mary { _id : “mary” username: “mary” firstName: “Momo” games [ …..] } Player mary username firstName “mary” “Momo” Games {(game: Game:2345, opponent : Player: rick), (game: Game: 2611, opponent: Player: ann)} 25

26 Conclusion 26 Application Object How to change

27 Conclusion 27 Application Object NoAM

28 Question Question 2: The implementation of a NoAM database in DynamoDB, what id is used as a DynamoDB primary key in the table? A. Entry key B. Block key C. Collection name D. Entry value E. None of above is correct 28

29 29 THANK YOU !


Download ppt "Database Design for NoSQL System GROUP 18: 7140263 - Lê Nhựt Trường 1570234 - Phạm Thành Trí 7141161 - Nguyễn Ngọc Tuyển 7140265 - Võ Thái Tuyến."

Similar presentations


Ads by Google