Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 总线调度-关系数据库或nosql_Mysql_Database Design_Nosql_Relational Database - Fatal编程技术网

Mysql 总线调度-关系数据库或nosql

Mysql 总线调度-关系数据库或nosql,mysql,database-design,nosql,relational-database,Mysql,Database Design,Nosql,Relational Database,我试图将公交车时刻表存储到数据库中,我想知道哪个数据库模型适合我的情况 我有公交运营商,每个运营商有多条路线,每条路线有多个转弯,每个转弯都有站点等。转弯是由“转弯主控”生成的,其中在接下来的N天内定义了调度(频率、站点等) 当用户试图在给定的日期搜索从一个城市到另一个城市的公交车时,我希望能够提供一个非常快速的公交车搜索 我使用的是MySQL,站点数量达到大约100000条记录,搜索速度很快,但我不确定当数据变得非常大时它是否仍然很快(1000个操作员,每个操作员有100个回合,每个回合大约有

我试图将公交车时刻表存储到数据库中,我想知道哪个数据库模型适合我的情况

我有公交运营商,每个运营商有多条路线,每条路线有多个转弯,每个转弯都有站点等。转弯是由“转弯主控”生成的,其中在接下来的N天内定义了调度(频率、站点等)

当用户试图在给定的日期搜索从一个城市到另一个城市的公交车时,我希望能够提供一个非常快速的公交车搜索

我使用的是MySQL,站点数量达到大约100000条记录,搜索速度很快,但我不确定当数据变得非常大时它是否仍然很快(1000个操作员,每个操作员有100个回合,每个回合大约有10个站点,在接下来的30天左右生成回合)

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

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


提前感谢,

NoSQL数据库设计用于处理非结构化数据或以各种或不可预测的方式结构化的数据。您的数据是以一种非常容易理解和预测的方式构建的


是什么让您认为关系数据库不是应用程序的正确答案?有很多行并不意味着你的关系查询会很慢。应用程序的性能将取决于是否有适当的索引,但更重要的是,它将取决于应用程序逻辑。你用什么启发式方法来解决旅行推销员问题?与数据存储选择相比,您的路由选择可能会对系统性能产生更大的影响。

您好,谢谢您的回答。我们不必研究旅行推销员的问题。我们只需列出所有在用户搜索目的地停止的回合,并显示所有回合。基本上,我必须在相同的站点表上自动加入,以检查同一轮的站点是否覆盖用户的搜索目的地。若我们在停止表中有n行,我们必须以某种方式循环n!检查次数(交叉连接类型)。你有其他的想法来改进这个吗?非常感谢,我也在考虑如何分割数据,这样我就可以使用多个线程对每个部分进行搜索,然后将它们组合在一起以获得最终结果,但在使用MySQL时仍然没有任何想法。我相信当停止次数达到数百万次/数十亿次时,即使我们有适当的索引,使用单查询时搜索性能也会很慢。@khoinguyen-关于多线程:让数据库引擎进行查询优化。它几乎肯定会做得更好,你会尝试手动完成它。如果您无法从数据库引擎中获得所需的性能,那么请尝试对数据进行分区以提高性能。Re算法:您应该有一个路由启发式。见: