标签: database-recommendation

推荐使用哪些数据库作为嵌入式数据库?

建议将哪些数据库用作嵌入式数据库以在应用程序中存储数据?嵌入式数据库可能会也可能不会同步回更大的系统数据库。

embedded database-recommendation

8
推荐指数
2
解决办法
632
查看次数

数字资产数据库

我在一家印刷厂工作,那里有相当大的旧印刷作业档案。目前,为了找到一份工作,我们必须搜索 SMB 共享(在 win2000 服务器上),它查看了几十万个文件。

我们的工作数据按以下方式组织:Year>Month>Customer_Name_Job#,然后工作的内容在最后一个文件夹中。

有没有办法创建一个数据库,以便我们可以查询作业 desc。或工号?基本上只是一个比使用 Windows 搜索搜索更快的简单搜索会很棒。我尝试了 Windows 索引服务,但它只能找到 .doc 文件,而不是文件夹名称或 PDF。

将来我们计划制作一个 SQL 数据库,在创建作业时将输入完整的信息,以便将来轻松查询。我希望将一些东西放在一起,以便更轻松地搜索旧订单。

database-recommendation

8
推荐指数
2
解决办法
254
查看次数

MySql 推荐硬件

我们公司的服务器目前托管在 VPS 上,我们决定迁移到专用服务器。

在为数据库服务器选择最佳硬件时,我们应该投入更多资源:更好的 CPU(更多内核)?或更多的内存?

最佳投资回报率在哪里?

有什么建议?

mysql database-recommendation

8
推荐指数
1
解决办法
4万
查看次数

如何对数据库中任意 CSV 的数据建模?

我正在设置一个用于数据管理的 Web 界面。用户上传 CSV 或类似结构的文件,我想将这些文件存储在数据库中,以便他们可以对它们进行操作——过滤、排序、绘图等。

我不知道如何在数据库中正确建模。我有几个想法,但似乎没有一个是正确的方法。

  1. 为每个上传的 CSV 创建一个新表。这意味着可以适当地键入每一列(整数、字符串、日期等),并且每条记录都将对应于 CSV 文件中的一行。这似乎是问题的自然概念——但是如果我必须为每个上传的文件创建一个新表,性能会成为问题吗?

  2. 制作一个表格,其中每个记录代表一个数据集 (CSV),并有其他表格,其中数据点在其记录中具有其数据集的 id。这意味着来自给定数据集的所有数据都分布在不同的表中,并且会有很多冗余(因为每个数据点都会存储数据集的 id)。但是,这意味着不必为每个数据集创建表。

  3. 2 的其他变体。我的大多数其他想法都是对数字 2 的变体,其中包含不同数量的间接。

我的问题本质上是“我如何正确建模?”,也就是说,具有合理扩展的能力。

大多数数据都是科学的,那么我该如何处理大小不一的数据集,从微不足道的(比如 10 列和 100 行)到大量的(数百列和数千/数百万行)?

tl; dr:我如何从数据库中任意数量的格式良好的 CSV 中对任意数据进行建模,每个 CSV 的新表的性能是否可以接受?

database-design database-recommendation

7
推荐指数
1
解决办法
3079
查看次数

哪些主要的数据库平台支持 TTL?

我需要将一些数据存储在将托管在 Amazon Web Services 上的数据库中,并且我可以完全自由地根据我认为最适合特定应用程序的数据库平台来选择要安装的数据库平台。

但是,需要注意的一件事是,AWS 的 RDS 服务基本上“内置”了以下四个数据库:

  • 甲骨文
  • MySQL
  • PostgreSQL
  • 数据库服务器

但除此之外,还可以启动 EC2 实例并安装其他任何东西;唯一的麻烦是我必须自己安装和维护数据库,而如果我采用上述选项之一,其中一些工作就会被淘汰。

我正在处理的特定应用程序将存储大量数据,出于所有意图和目的,这些数据看起来像日志/审计历史。而且有很多。每天,我们可能会在此表中插入一些 100K 行。通常,我们只会对当天插入的数据进行操作,尽管我们希望将数据保留至少一两周。

但是在那之后,我们需要基本上“过期”(也就是删除)旧数据,这样我们就不会用完磁盘空间。所以我正在寻找一个相对容易“过期”数据的平台。

我看到 MongoDB 通过使用expireAfterSeconds选项设置索引,在行级别内置了对此的支持。但是我不确定上面列出的任何 SQL 选项,或者其他任何选项。

上述 SQL 数据库中是否有任何机制可以自动修剪旧数据,或者将表视为“滚动日志”,并限制文件大小或行数?或者你有什么其他的推荐吗?

我知道我可以通过索引“创建日期”字段并在午夜运行 DELETE 查询来简单地在应用程序级别本身上编写它。但我担心事务日志会因为这种方式而呈指数级增长。

database-recommendation log

7
推荐指数
1
解决办法
6000
查看次数

管理和加速对超过 3 万亿行的 PostgreSQL 表的查询

我有超过 10 年的时间序列数据,有超过 3 万亿行和 10 列。

目前我使用具有 128GB RAM 的 PCIe SSD,我发现查询需要大量时间。例如,运行以下命令需要超过 15 分钟:

SELECT * FROM tbl WHERE column_a = 'value1' AND column_b = 'value2';
Run Code Online (Sandbox Code Playgroud)

该表主要用于读取。写入表的唯一时间是在每周更新期间插入大约 1500 万行。

管理如此大的表的最佳方法是什么?您会建议按年份拆分吗?

表大小为 542 GB,外部大小为 109 GB。

EXPLAIN (BUFFERS, ANALYZE) 输出:

"Seq Scan on table  (cost=0.00..116820941.44 rows=758 width=92) (actual time=0.011..1100643.844 rows=667 loops=1)"
"  Filter: (("COLUMN_A" = 'Value1'::text) AND ("COLUMN_B" = 'Value2'::text))"
"  Rows Removed by Filter: 4121893840"
"  Buffers: shared hit=2 read=56640470 dirtied=476248 written=476216"
"Total runtime: 1100643.967 ms"
Run Code Online (Sandbox Code Playgroud)

该表是使用以下代码创建的:

CREATE TABLE …
Run Code Online (Sandbox Code Playgroud)

postgresql index database-design database-recommendation partitioning

7
推荐指数
1
解决办法
2102
查看次数

存储和检索 Word 和 Excel 文档的最佳数据库

我目前的项目是创建一个链接到数据库(没有提供更多信息或说明)的条形码系统(因为没有更好的词)。我的任务是让条码扫描器解释条码,查询存储 MS Word 和 Excel 文档 (.docx/.xlsx) 的数据库,然后自动检索并显示该文档。除了扫描条形码时,我没有收到太多指示,以便自动检索和显示相应的文档。目前我们所在的位置没有数据库,我们将所有信息存储在 Excel 电子表格中。

我试图自动化的过程是从打开正确的文档(清单和报告)以及使用正确的命名格式和位置(excel VBA 脚本)保存文档中删除“人为因素”。

没有理由认为这是不可能的,但我不确定要使用哪个 (R)DBMS。我们不打算花太多钱(没有 oracle 11g 或 12c),但我们基本上是从头开始,我们的电子表格分布在整个网络驱动器上。我知道有像 IBM DB2 或 MySQL 或 MS SQL Server 或 MongoDB 这样的选项......但我不确定哪一个是最好的“物超所值”并且最少的麻烦。

database-recommendation

7
推荐指数
1
解决办法
2万
查看次数

哪些数据库引擎允许我在特定列上授予/撤销?

如果我有一个包含一列敏感数据的表,并且我想在不公开该列的情况下广泛使用该表,我知道我可以创建一个 VIEW,让他们可以访问所有非敏感列。但是,PostgreSQL 允许您以以下形式授予列级权限

grant select (col1, ...coln) on table to role;
Run Code Online (Sandbox Code Playgroud)

是否有其他引擎提供此功能?

database-recommendation permissions feature-comparison

6
推荐指数
2
解决办法
515
查看次数

我应该为大量时间序列数据使用什么类型的数据存储?

想象一个项目,它需要能够每秒处理 50,000+(微小整数)写入。数据一旦插入就不会改变。数据是对特定时间的测量。不需要亚秒分辨率(同一设备的两次测量可以相隔一秒)。

我们愿意购买/租用更多硬件而不是更昂贵的硬件(没有花哨的 RAID 等)。

数据按集合(每个设备)排序,数百个。因此应该显示/绘制。设备之间没有关系,但我们确实希望将它们分组(例如,显示 10 个图表)。

唯一的另一个要求是数据存储是开源的,基于 *nix 并且有合理的(社区)支持。

你会使用什么样的数据存储?

database-design database-recommendation

6
推荐指数
1
解决办法
3073
查看次数

MySQL中小型查找表的最佳引擎

我有以下问题:我正在设计带有几十个小型查找表的 Web 应用程序:这些表通常包含三列(ID、名称、描述)和几行(大多数少于 50,最大约为 450)。

这些查找表预计很少更改(它们来自标准,几年更改一次)并且仅用于:

  • html select 中的填充选项
  • 加入报告中的其他记录

SELECT99% 的情况下,这些表上只会有语句,但会有相当多的语句。

我想知道,使用哪种数据库引擎最有效?

以下是我的考虑:

记忆

  • 亲:非常快
  • con:如果服务器崩溃,所有数据都丢失,需要重新创建
  • con:不支持外键

压缩的 MyISAM

  • 亲:快
  • con:不支持外键

数据库

  • 亲:外键支持

我想问的是,使用与InnoDB不同的东西是否会有显着的优势- 性能方面

谢谢,兹比内克

mysql innodb myisam storage-engine database-recommendation

6
推荐指数
1
解决办法
691
查看次数