标签: rdbms

哪些数据库支持跨多个服务器的并行处理?

我需要一个可以利用多个服务器并行处理单个 SQL 查询的数据库引擎。到目前为止,我知道某些引擎可以做到这一点,尽管由于定价或缺少功能,它们对我来说都不可行。我目前已知的引擎是:

  • MS SQL(企业)
  • DB2(企业)
  • 甲骨文(企业)
  • 网格SQL
  • 绿梅

还有哪些引擎有这个功能?您有使用此功能的经验吗?

编辑:我现在提出了一种自己创建的方法。欢迎任何意见。

Edit2:我找到了另一个:Informix Extended Parallel Server

Edit3:Stado是一个新的。

Edit4:也许还有pgpool-II,他们写道:

并行查询

使用并行查询功能,可以将数据分到多台服务器上,从而可以在所有服务器上同时执行一个查询,减少整体执行时间。

rdbms data-warehouse

5
推荐指数
1
解决办法
1127
查看次数

如何在 Postgres 中对网络等复杂系统进行建模

我需要对涉及交换机(24 端口、48 端口、POE 以及这些的组合)和边缘设备(计算机、IP 摄像机、电话)的网络建模的帮助。从面向对象的角度来看,我可以在睡梦中用 C++ 编写代码。例如,交换机将继承自TwentyFourSwitch,如果它们有 POE,则来自POESwitch,那么在每个类中我将创建 24 个EthernetPort实例,每个实例都有一个连接功能,确保不会将以太网端口连接到 SFP 端口,或非 POE 端口到 POE 设备等。

使用 RDBMS,我们不断遇到问题。首先,我们组织了一切以最小化数据冗余。这是我们将要做的示例(为了保持代码简短,我使用了 2 和 4 端口交换机而不是 24 和 48)。

CREATE TABLE MACAddress{
   id SERIAL INT PRIMARY KEY,
   mac1 INT,
   mac2 INT,
   mac3 INT,
   mac4 INT,
   mac5 INT,
   mac6 INT,
   UNIQUE(mac1,mac2,mac3,mac4,mac5,mac6)
);

CREATE TABLE IPAddress{
   id SERIAL INT PRIMARY KEY,
   ip1 INT,
   ip2 INT,
   ip3 INT,
   ip4 INT,
   UNIQUE (ip1,ip2,ip3,ip4)
);

CREATE TABLE NetworkDevice{
   id SERIAL INT PRIMARY KEY, …
Run Code Online (Sandbox Code Playgroud)

rdbms postgresql database-design

5
推荐指数
1
解决办法
1032
查看次数

SSD 上的 Postgres 堆表性能

我已经阅读了相同架构/查询的 MySQL 和 PostgreSQL 之间的性能差异。. 它是否仍然与固态硬盘的外观有关?

那篇文章说 Postgres 更适合复杂查询和子查询,而对于通过 id 和顺序扫描进行的简单查询则更差。

对于某些查询,Postgres 更糟糕/更慢,因为每个表都是一个堆,意味着没有聚集索引,意味着行没有按主键在硬盘驱动器上物理排序。因此,如果您想从 Postgres 读取大部分记录(根据我的理解,通过 id) - 如果与 MySQL 相比,这将导致许多随机 I/O 和更差的性能。

问题:

  1. 但是SSD呢?Postgres 和 MySQL 的顺序读取性能是否相同?
  2. 在 RDBM 中使用 SSD 而不是 HHD 是否有意义?

更新:与 Rick James 的回答有关

  1. MySQL 使用Plan A和 Postgres 使用Plan B,对吗?
  2. Plan A表示聚集索引,对吗?该表按 物理排序lastName + firstName
  3. Plan A在 HDD 上的性能可能比Plan B在 SSD 上更好,因此 Postgres + SSD 不是灵丹妙药。查询聚集索引需要选择MySQL,对吗?
  4. 请详细了解 I/O 绑定是指哪些查询?在我的理解中any call …

mysql rdbms postgresql performance query-performance postgresql-performance

5
推荐指数
1
解决办法
687
查看次数

尽管没有索引/键,但更改一个 WHERE 字段时,MySQL 查询速度非常慢

这对我来说是一个相当令人困惑的问题。我有一个充满棒球统计数据的数据库。运行此查询:

SELECT * FROM hits
JOIN stadiums ON stadiums.gameName = hits.gameName
JOIN players ON (players.gameName = hits.gameName AND players.id = hits.batter)
JOIN games ON games.gameName = hits.gameName
WHERE games.type = 'R'
LIMIT 50
Run Code Online (Sandbox Code Playgroud)

返回:

/* 0 rows affected, 50 rows found. Duration for 1 query: 0.218 sec. */
Run Code Online (Sandbox Code Playgroud)

但是运行这个查询:

SELECT * FROM hits
JOIN stadiums ON stadiums.gameName = hits.gameName
JOIN players ON (players.gameName = hits.gameName AND players.id = hits.batter)
JOIN games ON games.gameName = hits.gameName
WHERE games.leagueLevel = 'mlb'
LIMIT …
Run Code Online (Sandbox Code Playgroud)

mysql rdbms query

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

与 PostgreSQL 和 MySQL 相比,Firebird 数据库有多成熟?

我在小型项目中使用了 PostgreSQL,而 MySQL 在生产环境中运行。他们没有问题。我一直听说 Firebird,它在开源领域又是一个可靠的 RDBMS。

与 PostgreSQL 相比,它的可靠性、ANSI-SQL 兼容和稳定性如何?如何

rdbms

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

RDBMS 中的错误有多少开销?

我的项目中有一个课程。在课堂上我需要做两个内部选择,以知道是否有任何重复,但我认为如果我得到重复错误然后管理它比选择更好。错误开销 Vs。两个内选,哪个?

rdbms error-handling

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

大数据与关系数据库构建电信数据分析数据仓库结构

我目前正在做我最后一年的电信采矿项目。在开始项目时,我对选择数据库感到困惑。随着移动通信数据的不断增加,我认为大数据对于降低项目的时间复杂度很有用。但我坚持寻找更好的选择。除了大数据的一般概念外,我对大数据没有任何经验,但我对关系数据库(oracle)不熟悉。

所以我的问题是:- 哪些数据将是进行此类项目的最佳选择,为什么?因此,我感谢有关数据库选择和设计的任何建议。

项目背景:- 我们有数百个客户的电话详细信息以及他们的个人信息,我们必须执行各种挖掘技术进行模式分析。

rdbms data-warehouse

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

在这种数据库设计中如何实现多对多关系?

我目前正在开发小型旅行应用程序,用户可以在其中将其他用户的旅行添加到他们的愿望清单中。我在为愿望清单设计数据库时遇到困难。

到目前为止我尝试过的是:

 user (user_id(pk), user_name)

 trip(trip_id(pk), trip_name, user_id(fk))

 wishlist(trip_id(fk), user_id(fk))
Run Code Online (Sandbox Code Playgroud)

但是,由于多个用户可以将多次旅行添加到他们的愿望清单中,如何关联这些关系?

如果用户检索他的个人愿望清单,则可以显示“那个”特定用户的愿望清单中的相关旅行?

mysql rdbms database-design many-to-many

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

我们如何在 BigQuery 上进行全文搜索和构面内容?

未来,我们的网络产品将拥有数百万条记录。所以我们使用 BigQuery 进行数据存储和分析。我们必须在搜索页面上构建过滤器,例如 Flipkart 和亚马逊提供产品过滤器。

基本上,我们在搜索页面的左侧需要不同的过滤器。借助这些过滤器,我们可以看到我们想要的结果。每个过滤器都有其计数,即该类别/术语中的记录计数。因此,我们必须以这样的方式构建查询,以便它们给出每个类别(术语)的结果和计数。这里,“类别”是指不同列上的不同类型过滤器,就像我们在电子商务网站(例如 Flipkart、亚马逊等)上看到的那样。

分面搜索(也称为分面导航、引导导航或参数搜索)将搜索结果分为多个类别,通常显示每个类别的计数,并允许用户“深入分析”或根据这些分面进一步限制其搜索结果。

是否有像 Solr 这样的框架/插件可以与 BigQuery 一起使用来提供上述所需的功能?

BigQuery 不适合上述目的吗?为此,我们是否需要坚持使用任何 RDBMS 数据库(例如 PostgreSQL、MySQL 等)和搜索引擎(例如 Solr、Elasticsearch 等)?

rdbms full-text-search elasticsearch solr google-bigquery

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

使用子查询是否比在 MySQL 中使用 Limit offset 和 order by 更有效?

例如,我们有一个问题,要找到表中薪水第二高的员工。这是我的桌子

id  name    dept    salary
1   Ram     HR      10000
2   Amrit   MRKT    20000
3   Ravi    HR      30000
4   Nitin   MRKT    40000
5   Varun   IT      50000
Run Code Online (Sandbox Code Playgroud)

然后我会写一个这样的子查询。

select e_name,salary from employee
    where salary = (select max(salary) from employee
                    where salary <> (select max(salary) from employee));
Run Code Online (Sandbox Code Playgroud)

我会像这样使用限制和偏移:

select e_name, salary from employee order by salary desc limit 1 offset 1;
Run Code Online (Sandbox Code Playgroud)

以下哪一项会更有效率?为什么?

mysql rdbms

3
推荐指数
1
解决办法
161
查看次数