StoneDB社区答疑第二期
来源:SegmentFault
时间:2023-01-23 15:05:04 144浏览 收藏
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《StoneDB社区答疑第二期》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下MySQL、数据库,希望所有认真读完的童鞋们,都有实质性的提高。
我们又把近期的一些社区热点问题做了一次汇总,同步给所有关注StoneDB的同学们~
提问Qustions & 解答Answers
Q:现在StoneDB单机什么硬件规格部署能分析100TB级别的数据?
A:像这么大的存储量,系统一般是分析类的,存储可以是单块盘容量是7.6TB的SSD,CPU核数和主频越高越好。
Q:StoneDB什么时候支持delete功能?
A:StoneDB预计在10月20号会发布StoneDB_5.7_V1.0.1版本,届时会支持delete功能,目前只是暂时不支持,主要是为了优化性能,给用户更好的使用体验。
Q:当前StoneDB支持哪些客户端管理软件吗?类似MySQL下的Navicat客户端。
A:StoneDB支持Navicat、DBeaver、SQLyog等客户端,同时对应标准的JDBC,ODBC等方式也是支持的。
Q:1、创建表时,可以选择engine = innodb 或 tianmu 吗?engine = innodb 的表会更新到 tianmu 去吗?2、如果没指定引擎,表默认引擎是什么?
A:1、StoneDB 支持在创建表时显式指定表的存储引擎类型。另外,StoneDB支持将engine=innodb的表自动更新到 engine=tianmu 的表中,在主从架构下,将主节点默认的存储引擎设置为innodb,从节点默认的存储引擎设置为tianmu,则数据在主从同步过程中自动完成行列转换。
2、如果创建表没有指定存储引擎,表的存储引擎取决于参数default_storage_engine的值。建议TP端的参数设置为default_storage_engine=innodb,AP端的参数设置为default_storage_engine=tianmu。
Q:一份数据在主节点可以同时 行存&列存,以两种形态存放吗?如果数据同时以两种形态存放, 则任何数据修改需要维护两个 copy , 如果只以一种形态存放, 那如何兼顾TP/AP 两种业务操作?
A:现阶段StoneDB HTAP是通过MySQL主从架构来实现的(这只是1.0的架构,未来在2.0的架构中会有完全不同的实现),采用binlog同步数据:主节点使用InnoDB引擎,可读写,提供OLTP场景的读写业务;从节点使用StoneDB引擎,只读,OLAP查询节点,实现了OLAP 的多种重要特性,满足数据实时查询及高并发复杂查询场景。
Q:对于主节点是innodb,slave是stoneDB应对TP和AP的场景,,对目前你们不支持的DDL和DML,比如修改字段长度、创建、删除索引、delete等这些你们是如何处理的,到slave会忽略?
A:遇到不支持的DDL和DML可以通过以下办法解决。如果主从之间没有开启GTID模式,主库在变更前可以关闭当前线程的binlog(set sql_log_bin=off),这样就不会同步到从库;如果主从之间开启GTID模式,主库在变更前可以设置GTID的值,从库可以执行这个GTID值的空事务。
Q:因为MySQl适合OLTP场景下的事务处理,那每次进行新增、修改、删除,这部分数据是如何同步到StoneDB里的呢?因为StoneDB的限制,有些DDL不支持,比如修改字段长度、类型、重命名字段等,如果这部分在我们实际开发和应用中对MySQL进行了操作会影响MySQL和StoneDB之间的数据保持一致性吗?
A:如果StoneDB为从库,那么主库做的DML会通过binlog同步到从库,delete目前不支持,TP端可以用逻辑删除标记为这一行为删除状态。例如新增一个字段,这个字段用于标识这一行是否是删除状态,1表示删除,0表示未删除,这种方法在TP端使用update代替了delete。原生delete支持将在10月20号的StoneDB_5.7_v1.0.1版本中支持,详细的可以看看我们的Roadmap。
Q:你们文档中列举的使用限制是针对存储引擎是Tianmu的吧?
A:是的,文档中列举的使用限制是针对存储引擎为Tianmu的情形,如果存储引擎为 InnoDB ,与使用 MySQL 无任何差异。
Q:我们现在的业务数据表都是基于行式存储引擎InnoDB创建的,如果要用StoneDB,这部分业务数据需要迁移?同步?需要用什么工具吗?
A:
InnoDB迁移到StoneDB,常用的mysqldump,mysqldumper、gravity都可以支持。停机迁移可以考虑使用mysqldump 或者mydumper,可以参考
mysqldump:
https://stonedb.io/zh/docs/O&M-Guide/backup-and-recovery/use-mysqldump-backup-and-restore/
mydumper:
https://stonedb.io/zh/docs/O&M-Guide/backup-and-recovery/use-mydumper-full-backup
热迁移StoneDB基本支持当前市面上MySQL热迁移工具,例如Mydumper+otter(mysqldump也可以,mydumper支持多线程全量备份,大数据量建议使用mydumper多线程备份),gravity等。
Mydumper+otter可以参考这个方案操作,从mydumper备份文件 metadata 中找到binlog位点填入otter位点配置,就可以做到全量数据同步后进行增量数据同步,
mydumper 可以参考上面提供的链接,otter可以参考otter 项目文档:https://github.com/alibaba/otter
gravity可以参考我们的官方文档:https://stonedb.io/zh/docs/data-migration-to-stonedb/use-gravity-to-migrate
Q:集群方案是基于什么算法?需要引入zk这样的额外组件吗?
A:目前集群采用的是HA架构,搭建和MySQL高可用架构一样,再引入keepalive或者ProxySQL之类的流量分摊组件即可,不需要使用zk组件。
Q:我们现在业务系统通过JAVA生态体系技术开发,如果用InnoDB的话,我们现有持久层对MySQL的操作需要进行哪些改造?
A:无需改造。
Q:关于检索的需求,目前的数据量使用MySQL不能很好的支持全文检索,我们了解到其他友商的解决方案也是要配合ES。StoneDB的介绍上有写可以取代ES集群支持检索业务,这块StoneDB的能力大概是怎样的?
A:目前StoneDB在行存引擎支持了全文检索,列存引擎尚未支持。如果有任何一位用户提供给我们对全文检索的具体需求和使用场景做详细描述,我们会派相关技术人员展开深入交流,共同探讨解决方案。
Q:1、将来有没有可能支持CEP?2、支持prewhere这样的功能么?3、支持物化视图么?4、是个单机数据库么?
A:1、会支持CEP的。
2、不支持prewhere。
3、不支持物化视图,MySQL也不支持物化视图,理论上可以结合触发器达到物化视图的功能。
4、目前是单机,将来会实现集群。
Q:StoneDB知识节点(KN)里存储的是什么数据?知识节点和元数据节点有啥不同呢?
基本的元数据(如列定义,约束条件等),数据特征及更深度的数据统计信息(如记录值范围段的标识BitMap, 统计当前Column中各记录的值分布信息等)。
A:数据元信息节点和数据节点是一一对应的,记录对应数据块中聚合函数值(min,max, sum,avg ...),record count,null 记录标记等信息。
Q:1、假设我在TP中创建了一个表testA,并指明engine=innodb,在进行一些业务写入操作后,这张表是否会同步到AP中?(相当于在TP中的表在AP中也有一份)2、如果我要对testA进行分析,是不是需要等TP同步之后才能进行分析?
A:如果在TP端创建表时指定了存储引擎engine=innodb,那么这张表会同步到AP端,但在AP端它的存储引擎还是innodb。
如果继续对这张表做analyze操作,不需要等AP端同步完,在TP端的analyze也会同步到AP端。但因为这张表在AP端还是innodb引擎,所以就没有Tianmu存储引擎的特性。
终于介绍完啦!小伙伴们,这篇关于《StoneDB社区答疑第二期》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!
-
499 收藏
-
244 收藏
-
235 收藏
-
157 收藏
-
101 收藏
-
120 收藏
-
393 收藏
-
482 收藏
-
481 收藏
-
482 收藏
-
107 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习
-
- 体贴的香菇
- 这篇技术文章真及时,太细致了,太给力了,码起来,关注师傅了!希望师傅能多写数据库相关的文章。
- 2023-03-28 14:30:23
-
- 高兴的黄蜂
- 这篇博文真及时,老哥加油!
- 2023-03-19 04:34:31
-
- 尊敬的音响
- 赞 👍👍,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢博主分享博文!
- 2023-02-10 13:23:58
-
- 简单的香氛
- 这篇文章内容太及时了,up主加油!
- 2023-02-09 19:51:42
-
- 合适的红牛
- 好细啊,mark,感谢作者大大的这篇文章,我会继续支持!
- 2023-02-07 02:57:34
-
- 受伤的冬瓜
- 写的不错,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢楼主分享文章内容!
- 2023-02-06 02:22:31
-
- 发嗲的大炮
- 这篇技术文章真是及时雨啊,很详细,很好,mark,关注楼主了!希望楼主能多写数据库相关的文章。
- 2023-01-27 18:33:56
-
- 谨慎的钥匙
- 太全面了,收藏了,感谢大佬的这篇技术文章,我会继续支持!
- 2023-01-24 02:18:26