我刚刚花了一些时间试验Crate-Crate.io-第一印象很好。如果我的理解是正确的,Crate是一个NoSQL数据库,它为操作和查询数据库提供了一个相当整洁的SQL接口。美好的
然而,在这个阶段,我有更多的问题而不是答案。这里有三个供初学者使用的
- Crate管理控制台很好。然而,除了设置IP表规则之外,我如何保护它(如果有的话)
- MySQL索引如何转换为Crate。我看不出我可以继续使用UNIQUE索引,然后依赖UPDATE。。。在重复的密钥上。。。SQL语句
- 最后,如果我的假设是正确的,那么一旦我建立了集群,Crate就负责数据复制和同步,而无需我付出更多的努力。那么,如果我在地理上分散了Crate集群节点,与同步相关的延迟问题会降低整个集群的性能吗?我设想读取/写入本地机箱实例,但可以选择以后从另一个机箱实例恢复这些数据(同步不相关)
这些问题可能不完全"符合"SO格式,但考虑到Crate的年轻程度,我希望它们仍然可以被认为是可以接受的。
很高兴你喜欢它。
1) Crate中目前不支持ACL。因此,管理界面以及HTTP端点都是开放的。一般的想法是,Crate是在一个私人网络中运行的,而不是直接暴露在外部。
有关如何创建只读nginx代理的更多信息,请参阅github问题和博客文章。
2) Crate不支持UNIQUE约束。(除了主键,它当然是唯一的)。所以更新。。如果主键已经存在,ON DUPLICATE KEY将起作用。
其他的UNIQUE约束很难做到,因为数据可能位于不同的节点上,并且拥有某种确保唯一性的机制将非常昂贵。
3) 是的,延迟会降低插入操作的速度。在文档的"多区域设置"部分中有更多信息