内存中 OLAP 与具有大量内存的传统系统相比有哪些优势?
内存中 OLAP 引擎是否比传统 OLAP 引擎具有优势,并有足够的 RAM 支持来容纳整个多维数据集?
例如,如果我使用 MOLAP 引擎 (SSAS) 和 GB/TB 的 RAM,其中整个多维数据集(甚至星型模式)都驻留在 RAM 中,那么与 TM1/SAP HANA 之类的东西相比有什么区别?
Do in-memory OLAP engines have advantages over the traditional OLAP engines backed by enough RAM to contain the entire cube(s)?
For example, if I use a MOLAP engine (SSAS) and GB / TB of RAM where the entire cube (or even star-schema) is RAM resident, what is the difference compared to something like TM1 / SAP HANA?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
基本上可以归结为以下几点:
真正针对“内存中”操作进行优化的系统会考虑多个方面,例如随机访问、内存页面大小、不同的缓存级别(CPU,...)等。
这导致最大限度地利用 RAM 提供而 HDD 不提供的可能性,从而实现卓越的性能。
针对文件系统访问进行优化的传统引擎通常会考虑与文件系统的文件/操作系统处理等相关的几个方面。
即使这样的引擎将所有内容加载到其缓存(内存)中,它仍然对数据进行操作,就像它所在的那样磁盘这是有意义的,因为代码必须在并非所有内容都适合内存的情况下工作。对这两种情况使用相同的实现可以实现更好的测试/稳定性/错误修复/可维护性等。但这会导致“无法利用”所有使 RAM 访问不同于文件/磁盘访问的因素。如果这样的引擎实现了 RAM 特定的优化,那么它通常可以变得更快,这样它就可以在每个世界(RAM 与磁盘)中提供最好的......我不知道有任何引擎这样做......
Basically it comes down to the following:
A system that is really optimized for "in-memory" operations takes into account several aspects like random access, memory page size, different cache levels (CPU, ...) etc.
This leads to a maximum use of the possibilities that RAM offers and HDD does not offer which in turn makes for excellent performance.
A traditional engine which is optimized for filesystem access is usually taking into account several aspects relevant to files/OS handling of filesystem etc.
Even when such an engine loads everything into its cache (memory) it still operates on the data AS IF it were on disk which makes sense since the code must work in situations where not everything fits into memory too. Using the same implementation for both situation makes for better testing/stability/bug-fixing/maintainability etc. BUT this leads to "not taking advantage" of all that makes RAM access different from file/disk access. Such an engine usually can be made faster IF it implements RAM specific optimizations so that it offers in each world (RAM versus disk) the best ... I am not aware of any engine doing that ...