【发布时间】:2017-04-28 17:22:18
【问题描述】:
我正在为 Database CrateDB 建模。
我有一个平均值。 400 个客户,每天产生不同数量的时间序列数据。 (介于 5K 和 500K 之间;平均约为 15K)
稍后我应该能够按 customer_year_month 和 per customer_year_calendar_week 查询。 这意味着我只会查询间隔:
- 周
- 和月份
现在我在问自己如何分区这个表?
我会按客户和年份分配。
这有意义吗?
还是按客户、年份和月份进行分区会更好?
【问题讨论】:
-
您在考虑哪种分区?哈希、范围、列表?哪个关系型数据库?您会查询单个值或间隔吗?您的目标是并行化大查询还是尽量减少小查询的磁盘访问 - 这取决于您的硬件和/或业务需求?
-
我在想partioning of crateDB。我将只查询提到的间隔。
-
很抱歉,我不知道 CrateDB 我认为这是 Create 的错误类型!从理论上讲,我会在客户日期(日级别)上选择一个哈希范围分区子分区方案。日级别将处理月和周情况,但您必须在 WHERE 子句中小心地将月/周间隔转换为日间隔。但是我还是不知道这个 DBMS(感谢你,我现在知道了)。
-
@ydarma 谢谢。 Google 经常遇到同样的问题(“您的意思是 Create DB”)。好吧,我不确定在多个分区上执行查询会有多昂贵,而且我在 CrateDB 的网站上没有找到任何相关信息。