首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在API中捆绑数据库

在API中捆绑数据库
EN

Stack Overflow用户
提问于 2011-03-06 15:48:50
回答 3查看 212关注 0票数 1

我目前正在处理一个项目,其中我需要将一个数据库与JAVA API打包在一起。在某种意义上,数据库应该是安全的,除了API之外,没有人能够访问它。重点是数据库中的数据是知识产权,不应该是exposed.Here。数据库包含大约500万条记录(仅4-5列)。我还需要使用聚合函数基于索引字段来查询它。我很清楚有一些java嵌入式数据库,比如derby、hsql和其他类似的数据库。但我严重怀疑他们的表现。我知道这个要求听起来很奇怪。但至少这是一个开始。

API应该是并发访问的,需要从这个database.Is检索查找值这是一个很好的设计,还是approach.Any架构有问题欢迎提出真正的建议。

NewInfo:如果一个嵌入式数据库看起来没什么前途,那么把一个嵌入式文件和API放在一起怎么样?这是可行的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-06 15:54:20

如果你在分发数据库,你不会阻止人们直接访问它。这只是数字版权管理,而我们从长期的经验知道,数字版权管理不工作

保持数据私密性的最简单方法是将其保存在您控制的服务器上,并提供网络API。这也允许您使用您选择的数据库。

如果你把它放在客户端,我想你会发现嵌入式数据库的性能比你预想的要好。另一个很好的选择是SQLite。

我不确定您需要哪种类型的并发。您是否设想给定客户端上的多个程序同时访问数据库?

票数 2
EN

Stack Overflow用户

发布于 2011-03-06 15:58:05

我会使用纯JDBC api的H2数据库。H2是ultra fast,支持encryption。出于安全原因,您可以将密钥存储到加密数据库的其他地方(在某个身份验证服务器上?)。您可能找不到比纯JDBC更快的东西了。

票数 1
EN

Stack Overflow用户

发布于 2011-03-06 15:59:36

我同意Matthew的观点,你根本不能阻止用户访问它。如果您使用的是标准的DB引擎,也可以让它变得非常简单。您几乎只能对数据进行加密,然后将其解密到内存中,以便进行查询。

SQLite是一个很好的嵌入式数据库,但在并发方面做得很差。如果您能将其保存在内存中,那么HSQL、Derby或其他任何工具应该都能很好地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5209339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档