我的问题类似于此处发布的其他朋友...我们正在尝试开发一个应用程序,该应用程序支持基于巴拉圭土地登记处的可能数TB的信息,包括图像和普通数据。
问题在于我们希望尽可能降低运营成本,因为这就像公司之间的竞争,因此我们想要使用免费的数据库....我已经阅读了很多有关它的信息,但我仍然感到困惑。我们必须意识到使用它的人是政府人员,因此DB必须易于同时管理。
你们会推荐我什么?
Thanu非常
答案 0 :(得分:3)
MySQL甚至SQLite已经有了空间索引,所以没问题。
要存储数据文件,您可以使用BLOB字段,但通常更好(并且更容易优化)存储为文件。要保留与DB记录相关的文件,您可以将完整路径(或URL)放在varchar字段中,或将图像存储在由记录ID计算的路径中。
要轻松扩展到多TB存储,请从一开始就使用多台服务器进行规划。如果数据是主要读取的,一种简单的方法是将图像存储在不同的主机上,每个主机都有一个静态HTTP服务器,数据库记录每个图像的位置。然后为数据库放置一个webapp前端,其中每个图像的URL直接指向相应的存储服务器。这样,您可以继续添加存储,而不会在“中央”服务器上造成瓶颈。
答案 1 :(得分:2)
Postgresql,SQL Server 2008和Any recent version of Oracle都具有空间索引,表分区和BLOB,并且能够充当大型地理数据库的后端。您可能还想查看两个开源GIS应用程序:GRASS和QGIS,这些应用程序可能支持以比编写定制应用程序更少的修改工作来执行您想要的操作。两者都可以使用Postgresql和其他数据库后端。
至于支持,任何商业或开源数据库都需要有能力的DBA的注意,如果你想让它在TB级数据库上运行良好。我不认为你会得到一个纯粹的最终用户支持模型 - 尝试这样做不太可行。
答案 2 :(得分:2)
听起来图像文件会占用大量存储空间。不要将它们存储在数据库中,只需将文件位置详细信息存储在数据库中。
(如果您想通过互联网访问,请尝试Amazon Storage。它不是免费的,但非常便宜,而且它们可以为您处理可扩展性。)
答案 3 :(得分:1)
关于使用B / C / LOB的另一个注意事项,因为我已经通过在数据库中内部存储而被指责数据库增长。
如何将GIS地图存储在单独的服务器上,只存储数据库中区域的LAT / LONG“形状”。 GIS可以单独更新,而无需将图像存储在主数据库中。
管理员较小。备份成本更低。
答案 4 :(得分:0)
虽然不符合您的免费标准,但我强烈建议您考虑使用SQL Server 2008,因为此版本中的两个Gfeature可能有所帮助:
FILESTREAM - 允许您将二进制图像存储在文件系统中,而不是存储在数据库本身中。这将使您的数据库更易于管理,同时仍允许您以通常的方式查询数据。
地理数据类型 - 对地理空间(纬度/经度)数据类型的支持可能对您的解决方案非常有价值。
答案 5 :(得分:0)
使用ESRI的图像服务器。您不需要数据库来提供图像。它非常易于使用。它还可以处理文件及其快速处理许多图像格式。此外,它还可以动态进行图像处理,并支持许多客户。 AutoCAD,Microstation,ArcMap,ArcIMS,ArcServer等等。