我需要一个可以利用多个服务器并行处理单个 SQL 查询的数据库引擎。到目前为止,我知道某些引擎可以做到这一点,尽管由于定价或缺少功能,它们对我来说都不可行。我目前已知的引擎是:
还有哪些引擎有这个功能?您有使用此功能的经验吗?
编辑:我现在提出了一种自己创建的方法。欢迎任何意见。
Edit2:我找到了另一个:Informix Extended Parallel Server
Edit3:Stado是一个新的。
Edit4:也许还有pgpool-II,他们写道:
并行查询
使用并行查询功能,可以将数据分到多台服务器上,从而可以在所有服务器上同时执行一个查询,减少整体执行时间。
我需要对涉及交换机(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) 我已经阅读了相同架构/查询的 MySQL 和 PostgreSQL 之间的性能差异。. 它是否仍然与固态硬盘的外观有关?
那篇文章说 Postgres 更适合复杂查询和子查询,而对于通过 id 和顺序扫描进行的简单查询则更差。
对于某些查询,Postgres 更糟糕/更慢,因为每个表都是一个堆,意味着没有聚集索引,意味着行没有按主键在硬盘驱动器上物理排序。因此,如果您想从 Postgres 读取大部分记录(根据我的理解,通过 id) - 如果与 MySQL 相比,这将导致许多随机 I/O 和更差的性能。
问题:
Plan A和 Postgres 使用Plan B,对吗? Plan A表示聚集索引,对吗?该表按 物理排序lastName + firstName。Plan A在 HDD 上的性能可能比Plan B在 SSD 上更好,因此 Postgres + SSD 不是灵丹妙药。查询聚集索引需要选择MySQL,对吗?any call …mysql rdbms postgresql performance query-performance postgresql-performance
这对我来说是一个相当令人困惑的问题。我有一个充满棒球统计数据的数据库。运行此查询:
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) 我在小型项目中使用了 PostgreSQL,而 MySQL 在生产环境中运行。他们没有问题。我一直听说 Firebird,它在开源领域又是一个可靠的 RDBMS。
与 PostgreSQL 相比,它的可靠性、ANSI-SQL 兼容和稳定性如何?如何
我的项目中有一个课程。在课堂上我需要做两个内部选择,以知道是否有任何重复,但我认为如果我得到重复错误然后管理它比选择更好。错误开销 Vs。两个内选,哪个?
我目前正在做我最后一年的电信采矿项目。在开始项目时,我对选择数据库感到困惑。随着移动通信数据的不断增加,我认为大数据对于降低项目的时间复杂度很有用。但我坚持寻找更好的选择。除了大数据的一般概念外,我对大数据没有任何经验,但我对关系数据库(oracle)不熟悉。
所以我的问题是:- 哪些数据将是进行此类项目的最佳选择,为什么?因此,我感谢有关数据库选择和设计的任何建议。
项目背景:- 我们有数百个客户的电话详细信息以及他们的个人信息,我们必须执行各种挖掘技术进行模式分析。
我目前正在开发小型旅行应用程序,用户可以在其中将其他用户的旅行添加到他们的愿望清单中。我在为愿望清单设计数据库时遇到困难。
到目前为止我尝试过的是:
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)
但是,由于多个用户可以将多次旅行添加到他们的愿望清单中,如何关联这些关系?
如果用户检索他的个人愿望清单,则可以显示“那个”特定用户的愿望清单中的相关旅行?
未来,我们的网络产品将拥有数百万条记录。所以我们使用 BigQuery 进行数据存储和分析。我们必须在搜索页面上构建过滤器,例如 Flipkart 和亚马逊提供产品过滤器。
基本上,我们在搜索页面的左侧需要不同的过滤器。借助这些过滤器,我们可以看到我们想要的结果。每个过滤器都有其计数,即该类别/术语中的记录计数。因此,我们必须以这样的方式构建查询,以便它们给出每个类别(术语)的结果和计数。这里,“类别”是指不同列上的不同类型过滤器,就像我们在电子商务网站(例如 Flipkart、亚马逊等)上看到的那样。
分面搜索(也称为分面导航、引导导航或参数搜索)将搜索结果分为多个类别,通常显示每个类别的计数,并允许用户“深入分析”或根据这些分面进一步限制其搜索结果。
是否有像 Solr 这样的框架/插件可以与 BigQuery 一起使用来提供上述所需的功能?
BigQuery 不适合上述目的吗?为此,我们是否需要坚持使用任何 RDBMS 数据库(例如 PostgreSQL、MySQL 等)和搜索引擎(例如 Solr、Elasticsearch 等)?
例如,我们有一个问题,要找到表中薪水第二高的员工。这是我的桌子
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)
以下哪一项会更有效率?为什么?