我的团队在MySQL中使用支持我们的Java业务应用程序的原型表变得越来越麻烦,所以我正在竞选使用SQLite来构建新表并在我们的应用程序中测试它们。
这些表通常是轻量级参数,最多可容纳12到1000条记录。当Java应用程序使用它们时,它们可能以只读容量这样做,并且通常数据被摄取在内存中并且永远不会再次读取。
将这些原型SQLite表放在网络上是否有问题,只要它们是通过只读和小批量访问的?或者我应该将它们本地复制到每个人的机器上?我知道SQLite不鼓励在网络上进行并发访问,但如果有多个用户在给定用户数量和应用程序架构方式的同时点击它,我会感到惊讶。
答案 0 :(得分:1)
如果您使用的是三层体系结构,则只有应用程序服务器才能访问数据库服务器。因此,您应该控制连接(即,您可以创建一个非常小的连接池)。 嵌入式数据库不适用于大量(数百个)并发连接。然而,考虑到数据量并且您只关注只读查询,我怀疑这将是一个问题。
我预见的一个主要问题是你可能在SQL方言方面遇到严重问题。通常嵌入式数据库使用ANSI SQL标准,但mySQL和其他数据库允许您使用不兼容的SQL方言。对于嵌入式数据库运行所有SQL查询以确保它们符合ANSI标准的单元测试通常是一种很好的做法。这样,您就可以保证可以将您的应用程序(自动或手动)与嵌入式数据库一起使用。