![]() |
1
4
鲁比的 DataMapper project是一个ORM,可以通过适配器与键值存储进行愉快的对话。 Redis 和 MongoDB Dubious framework 因为Google App Engine采用了与Data Mapper非常相似的方法,使数据存储对应用程序可用。 因此,使用键值存储进行ORM是非常有可能的。ORM只需要避免假设SQL是它的主要词汇表。 |
![]() |
2
4
除了生成样板数据访问代码之外,ORM的主要目的之一是抽象平台之间的差异。根据我的经验,切换平台的能力一直都是纯理论性的,而且这种最低公分母的方法对于NoSQL根本不起作用,因为该平台通常是专门为其他平台上不存在的功能而选择的。您的示例仅用于最简单的键值存储-根据您的平台,您很可能有一些有用的附加命令,因此第一个示例可以是 MGET user:id:name user:id:email。。。(multiget-在一次调用中获取任意数量的键) 获取用户:id:*(密钥通配符) HGETALL user:id(redis hash-获取用户的所有子键) 您还可以将用户对象存储在序列化的表单中—与关系数据库不同,这不会中断所有查询。 如果您的平台没有内置的支持,那么使用列表就不太好了—我喜欢使用redis的原因之一是本地列表/集支持—但是除了可能需要锁之外,这并不比从sql中获取列表差。
我发现从索引而不是关系的角度来思考是有帮助的——在设置数据访问代码时,决定需要查询哪些字段,并在编写这些字段时添加适当的索引记录。 |
![]() |
3
0
|
![]() |
4
0
UNIVERSE db是Pick的后代,它允许您存储给定密钥的键值对列表。然而,这是一个非常古老的技术主义和世界逃离这些数据库很久以前。 可以在具有三列表的SQL数据库中实现此功能
尽管大多数dba都会使用非常厚的Codd和Date精装版(如果您建议这样做的话),但实际上这是打包应用程序中非常常见的一种模式,允许您向系统添加特定于站点的属性。 给普拉普拉普拉斯·里赫德·史泰尔曼关于LISP的评论。 “任何功能合理的数据存储系统最终都会实现自己版本的RDBMS。” |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
4SadMemeXD · 无法在Django中选择相关类别 2 年前 |
![]() |
Agrim Singh · 用户数据。名称未显示用户名 2 年前 |
![]() |
Peloucvo · 用数据库中的数据填充JTable 2 年前 |
![]() |
Montaser Majid · 用于从多行中提取单行的SQL查询 2 年前 |
![]() |
Max J. · 用整数作为键将dict写入csv 2 年前 |