1

我是数据库新手,我正在尝试确定哪一个最适合我的需求。我正处于一个程序的规划阶段,该程序将在多个位置(都在一个域下)存储对数千个 PDF 文件的目录引用。基本上,它只是日期、位置、发起人的姓名以及数据库中每个字段中的文件链接。仅此而已(没有文件,没有什么花哨的)。我需要对数据库做的就是按位置、日期、创建者姓名对字段进行排序——就是这样。在某些情况下,需要同时进行多个写入。我在 SQLite 网站上读到,在任何给定时间只支持一次写入。这是否意味着写入特定文件或数据库期间?

我的意思是,在任何给定时间都需要从不同的客户端添加多个记录,但不需要修改现有记录(如果需要修改,则需要从特定客户端完成)。为了提供更多细节,我将提供服务应用程序将在后台运行并侦听文件夹的几个位置。一旦文件进入文件夹,它就会以特定格式重命名并添加到数据库中。两个文件夹侦听应用程序很可能会尝试同时将文件添加到数据库中。

我是否可以使用 SQLite 完成此操作,还是在任何给定时间对整个数据库进行一次写入?如果对整个数据库只有一次写入是可能的,那么有没有办法实现某种假脱机系统(有点像在打印机上),其中写入将在队列中等待生命计时器?

如果不可能,那么我将查看 MySQL。成本是一个问题,所以我转向这两个。

4

1 回答 1

2

在确切的时间只能发生一次写入,但默认情况下写入会自动排队,您可以实现每秒数千次写入。

主要关心的是这是什么类型的应用程序?它是在一台机器上开发并部署到另一台生产机器上的 Web 应用程序吗?那么安装和维护 MySQL 的额外麻烦就不是问题了,你最好使用 MySQL。如果这是安装在许多桌面上的桌面应用程序,那么使用嵌入式数据库更容易进行开发、安装和维护,在这种情况下使用 SQLite。

于 2013-08-19T03:51:33.037 回答