我目前正在处理一个项目,其中我需要将一个数据库与JAVA API打包在一起。在某种意义上,数据库应该是安全的,除了API之外,没有人能够访问它。重点是数据库中的数据是知识产权,不应该是exposed.Here。数据库包含大约500万条记录(仅4-5列)。我还需要使用聚合函数基于索引字段来查询它。我很清楚有一些java嵌入式数据库,比如derby、hsql和其他类似的数据库。但我严重怀疑他们的表现。我知道这个要求听起来很奇怪。但至少这是一个开始。
API应该是并发访问的,需要从这个database.Is检索查找值这是一个很好的设计,还是approach.Any架构有问题欢迎提出真正的建议。
NewInfo:如果一个嵌入式数据库看起来没什么前途,那么把一个嵌入式文件和API放在一起怎么样?这是可行的吗?
发布于 2011-03-06 15:54:20
如果你在分发数据库,你不会阻止人们直接访问它。这只是数字版权管理,而我们从长期的经验知道,数字版权管理不工作。
保持数据私密性的最简单方法是将其保存在您控制的服务器上,并提供网络API。这也允许您使用您选择的数据库。
如果你把它放在客户端,我想你会发现嵌入式数据库的性能比你预想的要好。另一个很好的选择是SQLite。
我不确定您需要哪种类型的并发。您是否设想给定客户端上的多个程序同时访问数据库?
发布于 2011-03-06 15:58:05
我会使用纯JDBC api的H2数据库。H2是ultra fast,支持encryption。出于安全原因,您可以将密钥存储到加密数据库的其他地方(在某个身份验证服务器上?)。您可能找不到比纯JDBC更快的东西了。
发布于 2011-03-06 15:59:36
我同意Matthew的观点,你根本不能阻止用户访问它。如果您使用的是标准的DB引擎,也可以让它变得非常简单。您几乎只能对数据进行加密,然后将其解密到内存中,以便进行查询。
SQLite是一个很好的嵌入式数据库,但在并发方面做得很差。如果您能将其保存在内存中,那么HSQL、Derby或其他任何工具应该都能很好地工作。
https://stackoverflow.com/questions/5209339
复制相似问题