09年初,做essbase9.3+obiee10.1.3.4,唉!
身心被无限的摧残,萌生了反编译essbsase的想法,于是第一次搜到了ida,
好不容易将essbase.exe反编译成c,看到c代码的第一眼我放弃了。
 后来的几年时间,在学习essbase的过程中遇到一些问题,比如:
BSO
  1. 数据文件的压缩方式
位图压缩是怎么压缩,怎么解压的?
空块占了多少空间?
  1. 块内部的结构
是多维数组吗?
数组的第一个维是cube的第一个密集维?需要更多证据。
  1. 索引的结构
索引的数据结构是什么?
  1. 碎片是什么
你有办法将1G的数据库的平均分簇率降到0.07吗?
  1. 各种计算的本质差异
为什么不创建块?
我们该放弃分摊函数吗?
  1. 密集重构在做什么?
有必要这么慢吗?
  1. c-api
给定稀疏维组合,怎么知道块是否存在?
10k个组合呢?有多少块存在?
ASO
  1. 为什么可以快速聚合
  2. 索引怎么存的
  3. 数据怎么存的
  4. 聚合视图怎么存的
 
再一次想反编译essbase,用单步调试来虐它。
 
由于没有汇编基础,不了解cpu,寄存器,没有ida的使用经验,也没有c++的开发经验,
所以这个原本单纯的想法变成了自虐。所以开了这个博客,希望有人能分担。