【发布时间】:2022-01-05 11:23:14
【问题描述】:
我目前正在学习数据工程,并且正在弄清楚数据在存储在不同的数据存储中时的样子,这是我迄今为止收集到的内容。对于图形和键值数据存储,我找不到很好的解释。
Given the table: Bonuses
ID Last First Bonus
1 Doe John 8000
2 Smith Jane 4000
3 Beck Sam 1000
row oriented database(e.g. postgresql):
1,Doe,John,8000;2,Smith,Jane,4000;3,Beck,Sam,1000;
column oriented database(e.g. mariadb):
1,2,3;Doe,Smith,Beck;John,Jane,Sam;8000,4000,1000;
column family database(e.g. cassandra):
"Bonuses" : {
row1 : { "ID":1, "Last":"Doe", "First":"John", "Bonus":8000},
row2 : { "ID":2, "Last":"Smith", "First":"Jane", "Bonus":4000},
row3 : { "ID":3, "Last":"Beck", "First":"Sam", "Bonus":1000}
}
document based database (e.g. mongodb):
document1
{
"ID": 1,
"Last": "Doe",
"First": "John",
"Bonus": 8000
}
document2
{
"ID": 2,
"Last": "Smith",
"First": "Jane",
"Bonus": 4000
}
document3
{
"ID": 3,
"Last": "Beck",
"First": "Sam",
"Bonus": 1000
}
graph database(e.g. neo4j): ???
key-value database(e.g. redis: ???
【问题讨论】:
-
请注意,您可以将 Redis 用于键值和 Grpah 数据库(带有 RedisGraph 模块)。您可以使用 RedisInsight 对其进行可视化。
-
不确定我的“存储”是什么意思。特定产品是图形数据库这一事实更多地说明了它在用户/API 层而不是存储层呈现的功能。 InfiniteGraph 是一个对象/图形数据库,在存储层使用纯二进制表示。它不是属性图,甚至使用属性图模型的图数据库也会有不同的存储表示。
标签: redis nosql graph-databases key-value-store