雇用逻辑和非类型数据的最佳解决方案

时间:2014-03-16 01:03:37

标签: database performance nosql persistence bigdata

我有这样的数据库架构:

  • ELEMENT(uuid [string],name [string],status [integer],...)
  • APPLICATION(uuid [string],name [string],config [string],status [integer],parent [自我上的外键或ELEMENT上的外键],...)
  • ATTRIBUTE(uuid [string],name [string],type [string],parent [APPLICATION上的外键],...)
  • VALUES(创建[datetime],data [varchar | text | integer | float | boolean | datetime])

我有这个限制:

  1. 申请必须在ELEMENT或SELF
  2. 上有fk
  3. 属性可以增长到250000个值
  4. 对于每个属性,我有20.000个值
  5. 值数据列可以有不同的类型
  6. 根据用户请求,我需要提供与特定元素匹配的所有应用程序
  7. 根据用户请求,我需要提供与特定应用程序匹配的所有属性及其最后一个值
  8. 根据用户请求,我需要在任意日期时间范围内为特定属性的所有值提供服务
  9. 定期(x分钟)添加新值并删除最旧值
  10. 添加新值时,我可能需要访问属性的最后X值
  11. 当有人修改ELEMENT,APPLICATION或ATTRIBUTE项目时,我需要锁定该项目
  12. 当用户提出一些请求时,我需要持久的数据存储和良好的性能
  13. 由于约束4,我无法使用经典的RDBMS,我认为关系数据库在任何情况下都不是最佳解决方案。我认为最好的解决方案是使用NOSQL数据库,但哪一个?有许多解决方案有利有弊,但我不知道哪种方法能更好地满足我的需求。

    由于

0 个答案:

没有答案