Data Modeling in the NoSQL World
By: Ashutosh Kale, Adham Kamel, Jordan Mercado Kevin Kim, Pratyusha Pogaru, Edgar Velazquez
Data Modeling in the NoSQL World By: Ashutosh Kale, Adham Kamel, - - PowerPoint PPT Presentation
Data Modeling in the NoSQL World By: Ashutosh Kale, Adham Kamel, Jordan Mercado Kevin Kim, Pratyusha Pogaru, Edgar Velazquez Link to paper: https://hal.archives-ouvertes.fr/hal-01611628/document Parts & names 1. Introduction & NoSQL
By: Ashutosh Kale, Adham Kamel, Jordan Mercado Kevin Kim, Pratyusha Pogaru, Edgar Velazquez
Link to paper: https://hal.archives-ouvertes.fr/hal-01611628/document Parts & names
Ashutosh, Jordan
2
servers
3
data from a single key-value pair or groups of related pairs
and sharding
4
5
1. Representation using a simple key-value pair
2. Representation using multiple key-value pairs
key-value pair
6
pairs, which can contain values, lists, and nested documents
runtime
“_id” attribute, which is associated to a value of type ObjectId
7
set of columns
aggregate
8
9
10
11
12
13
Representation of aggregates In NoAM model
Another way to represent NoAM database
14
System-independent design of NoSQL databases with NoAM
15
System Design following the NoAM approach uses these steps:
16
identifying necessary entities and relationships & grouping related entities into aggregates conceptual data modeling & aggregate design partitioning aggregates into smaller data elements and then mapping to the NoAM intermediate data model aggregate partitioning & high-level NoSQL database design mapping the intermediate data representation to the specific features
system implementation
Conceptual data modeling & aggregate design
17
Properties of good aggregate design
performance and scalability requirements
18
Data representation in NoAM
19
In General...
20
EAO vs. ETF
21
EAO ETF
Aggregate partitioning
modified together, it should be represented by a single entry
modify specific portions of the aggregate, it should be partitioned into multiple entries
accessed or modified together
accessed or modified separately
data is accessed/modified in relation to one another
22
General implementation
representation to specific systems will differ slightly with each type of NoSQL system (Key-Value, Document Extensible Record)
each example is described in figure 8
23
Key-Value Store Implementation: Oracle NoSQL
each entry will be represented by a key-value pair
key (collection name & block ID) and a minor key (coding of access path)
distribution of sharding
24
Extensible Record Store Implementation: DynamoDB
individual items representing each block
table, set of entries in block will be used for set of attribute pairs in item
25
Document Store Implementation: MongoDB
MongoDB collections will represent each collection of blocks & individual documents will represent each block
used for MongoDB collection name, block key id will represent special id field in a document & each entry in a block will fill a field in a document
26
Experiment on Performance of Different DB Design
performance of two different NoAM designs (EAO vs Rounds) on our running example
round along with other relevant fields
27
EAO Rounds Vs.
Experiment Results
28
different workloads (retrieval of games, round additions & 50-50), measuring runtime milliseconds over DB size (GB)
were superior in some regard & performed differently based on workload & size
Experiment Results Takeaways
29
○ Specific problems ○ Limited scenarios ○ Specific databases ○ Specific systems
30
that are accessed and manipulated together.”
○ In Domain Driven Design, related objects are treated as a unit for the purpose of data changes. ○ Entities are “units of distribution and consistency.” ○ In Bigtable, entity groups are manipulated atomically.
31
○ Vertical partitioning & clustering ○ Relational storage of XML documents
32
different systems and technologies.
for NoSQL systems that allows for simple CRUD operations.
models and design issues.”
33
○ Viewing data from the perspective of aggregates ○ Intermediate data model that is system independent ○ Implementation that considers specific features of specific NoSQL databases
34
Standards and Interfaces, Elsevier, 2020, 67, pp.103149. ff10.1016/j.csi.2016.10.003ff. ffhal-01611628f
35