2011-11-16 31 views
0

我是新来的数据库,并试图提出一个解决方案,将为我提供性能以及数据存储功能。我应该使用SQLite + MySQL与数据存储一起提供高性能吗?

因此,这里是我的情况:

  1. 我必须在几百毫秒的速度连续的实时数据流。我想存储这些数据以及将来检索这些数据。

这是我的计划:

  1. 使用正在运行的MySQL来存储这些数据的中央数据服务器。中央服务器将位于具有千兆以太网的内部网络上。

  2. 运行SQLite的代理客户机。客户端将负责接收数据并将其存储在本地(SQLite)和远程(运行MySQL的中央数据库)

  3. 运行SQLite的其他从属客户端可以从中央数据库检索数据并将它们存储到自己的本地SQLite。 (从客户机和中央数据库并不需要与实时数据实时同步,但应该在一段时间一次同步上涨 - 周期性)

我的背后原因是,SQLite的应在这种情况下比网络中央数据库要快很多。我希望实时地在本地存储数据,然后定期将这些数据推入远程数据库不会造成太多的性能损失。

我想知道这是否会满足我的要求,如果有任何设计可以实现更好的性能和数据完整性? (扩展性也是一个考虑因素,性能和完整性都是一样的)

数据库接口将用C++编写,我已经找到SQLite和MySQL的所有必要接口,现在只需要确定设计部分。

任何意见表示赞赏。

回答

1

我认为最好是使用一个中央MySQL服务器并检查系统的带宽。在客户端上,您可以创建一个为您的存储提供统一界面的类。首先它会缓冲并将数据发送到远程MySQL。如果性能不够好,则需要优化;在您的客户端上使用SQLite并编写新的存储接口实现,而无需更改其他客户端逻辑。 你不会真正知道对任何设计的期望。我们应该避免过早的优化。 http://en.wikipedia.org/wiki/Program_optimization#When_to_optimize

相关问题