gpt4 book ai didi

database - 存储 OHLC 历史价格的最佳数据库技术是什么?

转载 作者:太空狗 更新时间:2023-10-30 01:56:16 27 4
gpt4 key购买 nike

仅对于日终数据,就有数十亿行。存储所有这些数据的最佳方式是什么。 SQL Server 2008 是否足够好,或者我应该寻找 NoSQL 解决方案,如 MongoDB。有什么建议吗?

拥有一个具有读/写权限的主数据库和一个或多个用于只读操作的副本会很酷。只有主数据库将用于将新价格添加到存储中。此外,如果能够单独复制最流行证券的 OHLC 价格以优化读取访问权限,那将是一件很酷的事情。

然后这些数据将被传输到客户机器上的交易平台。

最佳答案

您应该考虑 Oracle Berkeley DB它正在生产中,在一些知名证券交易所的基础设施中执行此操作。 Berkeley DB 将允许您将信息记录为简单的键/值对,在您的情况下,我想像键的时间戳和值的编码 OHLC 集。 Berkeley DB 支持单主多副本复制(称为高可用性的“HA”)以支持您所概述的内容 - 读取可伸缩性。如果/必要时,Berkeley DB HA 将自动故障转移到新的主服务器。使用 Berkeley DB 的一些简单压缩和其他基本功能,您将能够满足您的可扩展性和数据量目标(数十亿行,每秒数万个事务 - 取决于您的硬件、操作系统和 BDB 配置 - 请参阅3n+1 benchmark with BDB 寻求帮助)没有问题。

当您开始访问该 OHLC 数据时,请考虑 Berkeley DB 对批量获取的支持,并确保您使用 B-Tree 访问方法(因为您的数据具有顺序并且位置将提供更快的访问)。还可以考虑使用 Berkeley DB 分区 API 来拆分数据(可能基于符号甚至基于时间)。最后,因为您将复制数据,所以您可以放宽对 DB_TXN_WRITE_NOSYNC 的持久性约束,只要您的复制确认策略需要一定数量的副本确认写入,然后才认为它是持久的。在这种情况下,您会发现快速网络胜过快速磁盘。此外,要从您的 master 卸载一些工作,启用对等日志副本分发。

但是,首先阅读 replication manager getting started guide并查看代表报价示例 - 它已经实现了您正在尝试做的一些事情(很方便,是吗?)。

郑重声明,我在 Oracle 担任 Berkeley DB 产品的产品经理。在过去的九年里,我有一点偏见。我猜想其他解决方案(无论是否基于 SQL)最终可能会为您提供一个可用的系统,但我相信 Berkeley DB 可以毫不费力地做到这一点。


关于database - 存储 OHLC 历史价格的最佳数据库技术是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4242108/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com