我是MemSQL的新手.我在集群中的MemSQL中创建了一个数据库和表,其中包含5个叶子节点和2个聚合器节点.Spark在同一个集群上运行.一切都处于默认模式.插入的数据和删除相同.select*不返回任何内容.但是当我看到web clusterUI时,每个叶子节点仍然消耗大约6TB的磁盘空间.
磁盘容量说明"这是MemSQL使用的磁盘空间量相对于可用的总磁盘空间.如果已满,则不能创建快照,事务日志或列存储数据".
通过这个描述,我假设6TB以上的磁盘空间是因为MemSQL的使用.
请一些人澄清一下
6TB的使用可能是因为MemSQL,或者可能是因为Spark或其他一些进程.MemSQL ops报告总磁盘使用情况,而不是MemSQL使用的磁盘(工具提示略有误导).
1)行存储表(没有CLUSTERD COLUMNSTORE索引的表)在每次写入时将日志写入磁盘.当日志变得很大时,日志会合并到快照中,默认情况下,我们会保留最后两个快照文件.因此,两个快照中较旧的一个可能包含您删除的数据.您可以使用触发新快照SNAPSHOT <dbName>,这将使GC清除旧的(可能是大的)快照.
2)快照和日志是每个数据库,而不是每个表.删除表不会触发快照/日志清理,但是删除数据库或触发新快照会.
3)您可能不应该手动删除数据目录. DROP DATABASE <db_name>将删除与该数据库关联的所有数据.
对于列存储表,故事略有不同,但我认为"一切都是默认的"意味着没有列存储表.