公交车调度 - 关系数据库或nosql

时间:2013-09-28 09:40:56

标签: mysql database-design nosql relational-database

我正在尝试将公交时刻表存储到数据库中,我想知道哪种数据库模型适合我的情况。

我有公交运营商,每个运营商都有几条路线,每条路线都有几个转弯,每个转弯都有停靠等。转弯是由称为“转弯主站”的东西生成的,其中定义了调度(频率,停止等)在接下来的N天内。

当用户在指定日期尝试从一个城市到另一个城市搜索公交车时,我希望能够快速搜索公交车。

我正在使用MySQL,停止次数达到大约100.000条记录并且搜索速度很快但我不确定数据变得非常大时它是否仍然很快(每千个操作员,每个操作员都有转弯,每个转弯有大约10个站点,大约接下来30天会产生转弯)。

基本上,执行搜索是查看停靠点(城市/城镇/地点,时间)并检查它是否符合用户搜索条件。

所以,我的问题是:关系数据库在这种情况下最好吗?或者当数据变得非常大时,使用某种NoSQL会更好吗?

提前致谢,

1 个答案:

答案 0 :(得分:2)

NoSQL数据库旨在处理以各种或不可预测的方式构建的非结构化数据或数据。您的数据以非常好理解和可预测的方式构建。

是什么让您认为关系数据库不适合您的应用程序?拥有大量行并不意味着您的关系查询会变慢。应用程序的性能取决于具有适当的索引,但更重要的是,它将取决于您的应用程序逻辑。您使用什么启发式来解决旅行商问题?与数据存储选择相比,如何进行路由可能会对系统性能产生更大的影响。