Java Camunda-数据库快速增长问题
我的数据库有问题。它长得这么快。我使用的是MySQL 5.7.24、Spring引导和历史级审计。现在我的数据库是~100GB 有人知道如何减小数据库大小的技术或技巧吗?我是否可以从ACT_GE_BYTEARRAY中删除字节数组,或者将一些历史数据移动到另一个数据库 如果我将一些历史数据移动到另一个数据库,如何从历史服务访问它 我的表格的当前大小为:Java Camunda-数据库快速增长问题,java,mysql,spring-boot,camunda,Java,Mysql,Spring Boot,Camunda,我的数据库有问题。它长得这么快。我使用的是MySQL 5.7.24、Spring引导和历史级审计。现在我的数据库是~100GB 有人知道如何减小数据库大小的技术或技巧吗?我是否可以从ACT_GE_BYTEARRAY中删除字节数组,或者将一些历史数据移动到另一个数据库 如果我将一些历史数据移动到另一个数据库,如何从历史服务访问它 我的表格的当前大小为: ACT_HI_VARINST=>10.66 GB ACT\U HI\U PROCINST=>0.46 GB ACT_HI_TASKINST=>0
- ACT_HI_VARINST=>10.66 GB
- ACT\U HI\U PROCINST=>0.46 GB
- ACT_HI_TASKINST=>0.01 GB
- ACT_HI_ACTINST=>15.92 GB
- ACT_GE_BYTEARRAY=>29.49 GB
- ACT_HI_细节=>16.02 GB
提前感谢。也许您应该开始考虑在现有表上创建分区 由于没有足够的关于上述表的信息,所以很难提供代码段,但下面提到的SQL代码段可能会对您有所帮助:
ALTER TABLE data_table
PARTITION BY RANGE( UNIX_TIMESTAMP(last_updated) ) (
PARTITION p_first VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
PARTITION p200001 VALUES LESS THAN (UNIX_TIMESTAMP('2005-01-01 00:00:00')),
PARTITION p200501 VALUES LESS THAN (UNIX_TIMESTAMP('2010-01-01 00:00:00')),
PARTITION p201001 VALUES LESS THAN (UNIX_TIMESTAMP('2015-01-01 00:00:00')),
PARTITION p_future VALUES LESS THAN (MAXVALUE) );
一旦创建了这些分区,您应该能够删除旧分区。您必须查看去年引入的历史生存时间(TTL)功能。您可以定义删除旧实例的时间间隔。 如果您仍然需要报告的数据,请考虑将其导出到合适的存储区,CAMUDA优化/弹性可能是解决方案。 简而言之:定义TTL并编写导出程序,在删除重要数据之前将其存储在其他地方
请记住,(camunda)流程应用程序的存储管理不是一件小事,这取决于您流程的性质(直接运行与长时间运行)和您的审核要求,您将需要一个大型架构。“100GB”只是一个相对值。。。你有10K或10M的实例运行吗?每天大约有10K实例运行。谢谢你,我会考虑弹性搜索。所有历史数据都可以使用弹性搜索引擎存储?camunda是否同时在两个存储中存储数据(例如mysql数据库和弹性搜索)?我这样问是因为我想在一段时间后删除历史数据,而不想让它与弹性搜索同步,因为我必须以某种方式进行报告。按日期范围划分?