嗯,除了这个问题之外没什么好问的。当你说OLTP数据库必须具有高吞吐量时,你是什么意思。
去维基。
“在通信网络中,例如 以太网或分组无线电,吞吐量 或网络吞吐量是平均值 成功传递消息的速度 通过沟通渠道。这个 数据可以通过物理传递 或逻辑链接,或通过 某个网络节点。吞吐量 通常以每秒位数来衡量 (bit / s或bps),有时在数据中 每秒数据包或每个数据包 时间段。“
这是否意味着,OLTP数据库需要具有高/快插入率(即避免死锁等)?
如果我们把一个数据库说成航空业,我总是会留下一个印象,它必须快速插入,但同时快速响应时间,因为它对它的操作至关重要。在许多方面,这不应该仅限于将消息/数据传递到数据库所涉及的协议吗?
我并不是想挑出OLTP系统的“唯一”特性。总的来说,我想了解一下OLTP系统固有的特性。
干杯!
答案 0 :(得分:15)
通常,当您谈论OLTP数据库的“吞吐量”时,您谈论的是每秒的事务数。系统可以花费多少订单,服务的网页请求数量,可处理的客户查询数量。这往往与关于OLTP系统如何扩展的讨论密切相关 - 例如,如果您因为业务正在起飞而每个月访问您网站的客户数量增加一倍,那么OLTP系统是否能够处理提高吞吐量。
这与OLAP / DSS系统形成对比,OLAP / DSS系统旨在通过更大的数据量运行相对少量的事务。在那里,您更担心的是您可以执行的事务数量,而不是在添加更多数据时这些事务的速度变慢。如果您是那个非常成功的公司,那么您可能希望按区域报告从OLAP系统中获得相同数量和频率的产品销售,因为您的销售额会呈指数级增长。但是现在你有更多数据需要处理,这要求你调整数据库只是为了保持报告性能不变。
答案 1 :(得分:4)
吞吐量在此上下文中没有单一的固定含义。松散地,它表示每秒的交易数量,但“写入”交易与“读取”交易不同,持续率与峰值率不同。 (当然,10字节的行与1000字节的行不同。)
前几天,当我在寻找别的东西时,我偶然发现了Performance Metrics & Benchmarks: Berkeley DB。对于测量“速度有多快”的不同方法,这并不是一个糟糕的介绍。此外,this article on database benchmarks是一个有趣的阅读。