我正在开发一种GPS计算器,它使用大量数据来计算不同的值,例如RMSE(均方根误差)和NSSDA(空间数据的国家标准)。数据来自各种不同型号的GPS装置,其变化程度很大,即内部/外部天线; auto,WAAS,DGPS,PPS信号;开放,轻,中,重的树冠;基本上需要存储大量数据来计算各种各样的预期结果。
将始终读取数据,并且仅在极少数情况下才会添加新数据。如果确实需要添加它,很可能是由开发人员之一,而不是程序的用户。因此,我们对使用SQLite非常感兴趣。我们的服务器上有Oracle,但任何表的创建都必须由更高层次完成,有时需要数周时间。出于这个原因,SQLite似乎可能对我们有用。我从未使用过SQLite,所以我想知道它是否是正确的选择。但是,大多数有关SQLite和Flex的文档似乎与AIR应用程序和SQLite作为本地数据库有关。服务器上的SQLite文件是否可以使用Flex应用程序执行所需的计算?或者我是不是在使用SQLite文件了?
答案 0 :(得分:0)
我不知道Flex。但我非常喜欢SQLite。
你的应用程序(读取非常少见的数据 - 大多只是一个实例)我认为这是SQLite的理想情况!
SQLite非常高效,并且可以优雅地扩展。唯一的应用程序,我不推荐它,是当你有一个沉重的交易负担(许多并发修改Db内容)。此外,当你必须有一个非常大的数据量来处理(数百万或数十亿行)时,我更可能会想到一个可以使用多个CPU或实例的成熟数据库...
但是这一切都不是你的情况。
答案 1 :(得分:0)
Flex应用程序将无法使用位于用户计算机上的SQLite数据库 - 为此,您需要使用AIR。但您似乎在说SQLite数据库将保留在服务器上,并由Flex客户端查询。您似乎只想使用SQLite,因为在Oracle中设置内容需要太长时间,因为内部业务流程。
所以,你当然可以在你的服务器上设置一个SQLite数据库,使用一大堆服务器端框架(我最喜欢的:Django)来提供它包含给客户端的数据,然后阅读并呈现客户端浏览器中使用Flex的数据。对于中小型应用程序,SQLite是一个不错的选择。
答案 2 :(得分:0)
不是你想的那样,不是 - 没有在Flex中内置的SQLite客户端。从基于Web的Flex应用程序,访问关系数据库(甚至是SQLite文件)的唯一方法是通过某种Web服务API。
如果你还没有遇到过,那么这里有一些有用的StackOverflow讨论,专门解决SQLite的可伸缩性:
根据您对项目的描述,假设您不会有非常高的音量(即使它只是选择),SQLite可能是一个可接受的选择。
但我个人的建议是,如果你有任何能力在某个地方运行一个简单的RDBMS实例(例如MySQL),那么肯定会走那条路。您可能只是在操作上受限 - 每个公司在这个意义上都是不同的。但是,如果您可以提供帮助,请不要选择平面文件作为Web应用程序的数据库。即使你没有立即遇到争用问题,你几乎肯定会遇到它们。如果你能管理它,最好避免头痛。
答案 3 :(得分:0)
我喜欢sqlLITE,但我只在Perl中使用它。
您可以使用Amazon的SimpleDB这样的数据库,它可以作为webService访问。如果您的数据少于1GB并且每月使用不到25小时,它也是免费的。
链接到simpleDB http://aws.amazon.com/simpledb/
有一个针对simpleDB的AS3库,但我没有多个链接的声誉:-( ..所以google:“Amazon shownlife simpleDB”
祝你好运