PHP,MySQL,空间数据和设计

Dyl*_*lan 5 php mysql database-design solr spatial

我正在建立一个应用程序,通过GPS记录车辆坐标.我想先实现一些功能,例如:

  • 实时跟踪车辆
  • 车辆的历史跟踪
  • 保留客户记录的位置和区域

我需要一些指导,从哪里开始数据库和应用程序设计.从最佳实践,提示到体验的任何事情都可以帮助我走上正确的轨道.

  • 如何处理几何的ORM?例如:一个位置将转换为SpatialPoint类,其中一个区域将转换为SpatialPolygon类
  • 如何保持车辆清晰的大量数据流?我想一个表来保存最新的点(用于实时数据)并将这些数据批量解析到PolyLines中,用于历史目的(每个员工在车辆上换班一行).
  • Mysql可能不是最好的选择,但我打算使用Solr作为快速定位搜索的索引.虽然我们需要做一些实时距离计算,例如哪辆车最接近客户X.有什么想法吗?

nat*_*han 4

我可以帮助你一点,mysql 绝对最好的选择,我已经多次走上与你相同的道路,mysql 空间扩展非常棒,事实上,即使在具有 500 万行以上空间数据的表上,它也非常快,一切都在索引中。空间扩展是 mysql 保存最好的秘密之一,很少有人使用;)

ORM,我建议跳过这一点 - 如果您有大量数据,所有这些类实例都会杀死您的应用程序,请坚持使用简单的数组结构来处理数据。

RE 大量数据流,要么实时消耗它并仅存储每 10 个条目,要么将其全部保存在一个表中 - 由于表的索引方式,它不会影响速度,但大小方面的考虑可能值得考虑。

对于来自 PHP 的替代方案,您可以在 postgresql 上尝试 postgis,但我一直更喜欢 mysql,因为它易于使用、本机支持和全面的速度。

祝你好运!