mysql是内存数据库,数据本身是不存储在硬盘的,每次重启的时候需要通过日志和检查点把全部数据都装载到内存。
对于数据的活动比率很低的数据库而言,这对内存的浪费非常可观。启动的时间也是难以忍受。
而且mysql-cluster的记录是定长的,也就是说varchar等可变长的东西是直接占用最大的内存空间的。
其他的问题可能还有,接触一周时间暂时就发现这些。
虽然说mysql-cluster文档里有提过disk table的方式,指定特定的表到创建好的表空间文件中,但这需要mysql-5.1.6以后的版本,我在网上找了很久,官网上mysql-cluster只有mysql5.1.47-cluster-7.1.5。5.1.6之后的版本找不到相应的cluster版本。新的mysql5.5或者5.6或者6.0的源码包里的ndbcluster则根本连版本号都没有,而且windows下似乎不提供ndbcluster的支持。
需要分布性,可扩展性的话有drdb,需要内存缓冲的话有query cache和memcached。有点搞不太懂mysql-cluster的定位。

解决方案 »

  1.   

    cluster比较适合记录 session 之类比较短小的记录(活动比较高,用户量大)新版windows也支持哈!
      

  2.   

    mysql是内存数据库,数据本身是不存储在硬盘的???我对这句表示怀疑
      

  3.   

    cluster本身的设计就是共享内存的数据库架构如果不是并发量特别大,不建议使用。
      

  4.   

    CLUSTER给我的感觉就是用来把大规模计算分布出去并行的,这个DRDB搞不定吧
      

  5.   

    是内存数据库  但是数据并不是存在内存中  只是操作是在内存中进行操作  而数据最后是会写入到DATA NODE里面的。