当然,目前 StoneDB 的社区建设还正处于初启阶段,我们坚信,开源项目的成长,最终还是要靠社区用户一起来共创,因此,StoneDB 开源社区非常重视社区用户的声音,在 7 月份,我们从各个渠道里收集到了用户的反馈,这里做一个汇总,同步给各位关注 StoneDB 的开发者们,无论您是在校学生还是公司后端研发人员,亦或是某数据库厂商的研发人员,相信本期的社区解答会让您对 StoneDB 有一个更深入的了解。
A: 我们还是要区分“自主”、“可控”、“原创”三个词的准确含义,这样能更好地理解 StoneDB 的数据库定位。我们基于 MySQL 的根本原因,是因为目前 MySQL 客户装机量足够多(截至 2022 年它在整个数据库行业的市场占有率达到了 43.04%,来源:Slintel网站),而使用 MySQL 的客户对 AP 能力的需求也在不断增长,我们要做的是一个具有庞大增量的市场,而不是就只盯着 MySQL 生态玩了,不要误会我们只能做 MySQL,以我们对一体化 HTAP的理解,基于 PostgreSQL 再做一套也是可以的,所以现在的 StoneDB 准确的说法是叫 StoneDB for MySQL。很多人现在被一些极端情绪所影响了,并没有客观的看待“原创”这个事儿,开源世界里,“原创”从来不是最重要的,如果有谁觉得自己做得更好就是可以 Fork 出去做他自己的分支版本,且不说现在有多少优秀的数据库是基于 MySQL 和 PG 做的,很多优秀的操作系统也是基于开源的 Linux 做发行版的,这个无论国内国外,都很常见,也无可厚非。说到底,一个开源项目到底能不能把控研发方向、解决实际落地问题、对用户有没有实用价值才是最重要的。而且,我们用了 MySQL 就大大方方承认,不藏着掖着,也绝对不是简单的拿来主义,稍微优化魔改一下就放出去的。我们底层确实用了 MySQL 社区版的代码,但是我们的自主原创的代码量也足够庞大,为了提高综合性能,我们还对原本的 MySQL 社区版源码进行了大量的修改和优化。必须强调的是,我们的 HTAP 内核引擎Tianmu(中文名:天目)完全自主研发,经过了足够时间的测试和打磨,才开源出来给大家使用,这才是我们强调的自主性。
另外,我们内核研发团队对 MySQL 的各个版本代码的熟悉程度一点儿也不亚于 MySQL 原厂团队,我们有超过 10 年内核研发经验的数据库老兵,有超过七年近 200 万行内核代码的积累,更重要的是,我们对 MySQL 和 HTAP 的理解不单是从工业界上的应用实践,还有学术上的深刻认知,我们对数据库学术界的最新理论保持高度的关注,基本上所有经典的 HTAP 学术论文、国际顶会和期刊,从原始概念的提出到目前最新的研究进展,我们的架构师都深入研究过并从中选择最优可实现的方案落地到我们 StoneDB 的内核设计上——可以说,工业界的丰富实践和学术上的与时俱进就是我们可控性的来源。
现在我们是在做 5.6 和 5.7 的版本,8.0 也在计划中,不用担心我们跟不上,发行版跟上 Upstream 是我们的基本素养。只不过,我们要做的,是连 Oracle 自己都舍不得开源的发行版,这才叫真的玩开源,我们不是那种随便魔改一下开源项目就拿出来说自己自主创新了,我们的自主创新是实实在在的,是会对全球几百万依赖 MySQL 生态且有 AP 需求的中小企业产生巨大实用价值的。当然,未来我们还会有云原生架构,这都是必须会有的,数据库上云是大势所趋,我们只会顺势而为。可以明确的是,一个成熟的、真正的 HTAP 数据库应该有的功能和架构,StoneDB 都会有。
**A: **StoneDB 与 TiDB 采用了完全不同的技术架构,TiDB 使用松耦合系统架构,StoneDB 采用单系统双引擎架构,单系统架构集成性更高,实时性更强,对用户更加友好,用户完全无需关注和维护类似 Tikv/Tiflash/TiDB 这么多的底层组件。
从硬件要求方面,单系统架构所需的硬件更少、要求也更低,TiDB 最少需要 3~5 个节点才能完成最小化部署,StoneDB 仅需单节点即可,不像 TiDB 那样对硬件配置有严苛要求,在正常情况下采用“与运行MySQL 相同的硬件配置”就可以感受到 StoneDB 飞一般的性能体验,当然配置越高,性能越好。除此以外StoneDB是完全兼容MySQL的(准确的说,我们不需要 Compatible,因为我们就是 Native),可实现对 MySQL 的无缝切换,业务侧无需做一行代码修改。
另外,TiDB 的开源社区做的确实不错,值得我们学习,不过我们从技术理念上一直不太认可 TiDB 属于 HTAP,他们并不符合真正的 HTAP 数据库定义,还是有一定距离的,或许叫分布式数据库是对的。当然,想必他们也知道自己不是真正的 HTAP,因为他们肯定也对 HTAP 的定义有过研究,只不过可能当年做底层架构时工程实现上没有很好的思路,觉得一体化的路线实现太难了,才做了这么一个杂糅架构的伪HTAP数据库出来。我们知道现在出来打破一些人的认知还是要耗费些精力的,毕竟让他们意识到在国内最早推广 HTAP 概念的团队自己做的却是不符合真实 HTAP 定义的数据库,多少会有些打击到他们,也希望相关同学可以看看我们对真正 HTAP 标准的思考。
**A: **StoneDB 与 StarRocks 产品定位不同,StarRocks 定位 OLAP 数据仓库,进行数据分析时需要从 TP 类数据库通过 ETL 导入数据。StoneDB 定位 HTAP 数据库,可以同时支持 OLTP 和 OLAP 。如果非要一较高下的话,那就是 StarRocks 不支持 OLTP。
**A: **在 TP 能力方面,StoneDB 目前与 MySQL 持平。在 AP 能力方面,StoneDB 最高可实现 100 倍性能的提升,StoneDB 产品设计的初衷就是解决 MySQL 本身不具备分析能力的问题。
**A: **StoneDB V2.0会支持 MySQL8.0 的新特性,新版本的具体时间以社区正式发文为准。
**A: **是的,向量化相关内容规划在后续 Roadmap,具体时间以官方正式发布为准。
**A: **支持,但是在生产环境不建议采用 K8S 部署方式。K8S 其他服务会抢占磁盘 IO,带来性能下降。
A: StoneDB 是行列混合架构,不是单纯的列式存储。StoneDB 支持多表关联,其优化器采用了知识网格技术,在进行多表关联时,两个列之间的等值映射关系会被自动创建。
**A: **StoneDB集群版仍在开发过程中,开发完成后会进行开源,具体时间以官方正式发布为准。
**A: **我们推荐使用主从架构:主节点使用 InnoDB 引擎,可读写,支持 OLTP 业务负载;从节点使用 StoneDB 引擎,只读,支持 OLAP 查询负载。
**A: **暂时还没有。
随着ruby被引入为新的编程救世主,我想知道是否有人基于易用性、运行所需的资源、可用性和易定制性而有偏好。两者有更好的吗? 最佳答案 好吧,任何基于Rails的社交网络应用程序的比较都应该包括insoshi(http://portal.insoshi.com/)。话虽这么说,这三个都非常相似,区别在于实现细节。Lovd和Insoshi都是完整的Rails应用程序;它旨在供您将它们用作入门工具包,并使用您自己的自定义功能对其进行扩展。另一方面,CommunityEngine是一个Rails插件。这意味着您可以更轻松地向现有Rail
今天,我将尽可能地设置我的测试环境和工作流程。我正在向对Ruby测试充满热情和精通的你们寻求有关如何设置测试环境的实用建议。到一天结束时(太平洋标准时间早上6点?)我希望能够:键入一个1-command来为我在Github上找到的任何项目运行测试套件。为任何Github项目运行autotest,这样我就可以fork并做出可测试的贡献。使用Autotest和Shoulda从头开始构建gem。Foronereasonoranother,IhardlyeverruntestsforprojectsIclonefromGithub.Themajorreasonisbecauseunless
在Java领域,主要使用JUnit,而在.NET中,我相信nUnit非常流行。社区是否就Ruby世界的单元测试框架达成一致?背景:我问是因为我是Ruby的新手,想在学习Ruby的同时练习TDD。到目前为止,我只玩过Test::Unit。 最佳答案 你可以坚持使用Test::Unit或者你可以使用Shoulda对其进行很好的扩展或使用Context的一些很酷的上下文.另一方面,如果您更喜欢BDD,那么您可以安全地坚持使用RSpec.至于验收测试用Cucumber. 关于ruby-什么是社区
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。ImprovethisquestionDavidKorn,Unix哲学的支持者,几年前在aSlashdotinterview中斥责Perl程序员用于编写单一的Perl脚本而不通过管道、重定向等使用Unix工具包。“Unix不仅仅是一个操作系统,”他说,“它是一种做事的方式,shell通过提供使它起作用的胶水。”似乎提醒同样适用于Ruby社区。Ruby具有通过popen、STDIN、STDOUT、STDERR、ARGF等与其他U
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭12年前。这是一个诚实的问题,我不是在挑衅。作为Rails的新手,我一直在寻找好的Rails资源。但是我注意到许多曾经很受欢迎的网站现在已经完全被废弃了。一些例子:http://www.softiesonrails.com/-最后更新于2010年2月http://www.therailsway.com/-最后更新于2009年8月http://nubyonrails
如今eBPF程序的编写,很多都是基于bcc或者bpftrace进行,也有开发者直接基于libbpf库进行,但是不管怎样,编写的xx.bpf.c程序,在加载到内核时,都必须经过内核的verifier校验器进行各种边界和内存检查,经常会碰到各种奇奇怪怪的verifier报错,导致eBPF程序加载失败。有些错误,开发者可能要花费大量的时间去分析并修改程序,并祈祷程序能够加载成功。特别是在低版本的内核运行低版本Clang编译器编译的eBPF程序,错误提示非常糟糕,经常找不到出错点,这就大大增加了开发难度。为此,本文梳理了一些常见的eBPFverifier报错,避免更多的人走弯路,写出能成功加载的eBP
基于SSM的智慧社区管理小程序摘 要随着互联网大趋势的到来,社会的方方面面,各行各业都在考虑利用互联网作为媒介将自己的信息更及时有效地推广出去,而其中最好的方式就是建立网络管理系统,并对其进行信息管理。由于现在网络的发达,社区管理通过网络结合现下流行的小程序进行信息管理掀起了热潮,因此“智慧社区管理小程序”应运而生了。整个智慧社区管理小程序开发过程首先对系统进行需求分析,得出其主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统功能设计、系统总体结构设计、系统数据结构设计和系统安全设计等;详细设计主要包括系统数据库访问的实现,主要功能模块的具体实现,模块实现关键代码等。最后对系统进
我正在寻找用javascript实现的社区检测算法。Louvain算法或任何其他算法都可以。 最佳答案 最近执行了Louvaincommunitydetection在JavaScript中,在某种程度上,它很容易与D3.js一起使用:https://github.com/upphiminn/jLouvain作为旁注,由于我没有意识到,我为我的项目写了一个贪婪的模块化最大化TagOverflow(另请参见somedescription)。它工作得很好(见下面的示例),但是这个jLouvain是一个更好的算法和更好的实现。
和鲸社区算是国内比较不错的机器学习算力平台,可以通过每日登录积累成长值,每月还会给鲸币奖励,有一段时间每天都会登登陆一次,但是有时候还是会忘记。最近根据腾讯云Serverless部署云函数实现自动登录,解放双手。首先每次登陆后将进行微信推送,我采用的是pushplus平台,获取token即可。微信推送#从pushplus平台获取tokentoken='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'defsendToWechat(title,content):url='http://www.pushplus.plus/send'headers={'Content-Type
Java有maven或ivy从各种公共(public)存储库中检索依赖的jar。Ruby有更好的依赖检索工具:gem和bundle。Javascript社区是否有任何等效工具?我找到了许多工具来管理将依赖项动态加载到浏览器中。我不是在寻找那些工具。具体来说,我正在寻找新开发人员用来检索他们需要的javascript文件的工具。开发人员运行此工具并:查看项目依赖描述文件发现该项目需要jquery-ui-1.8.7、tiny_mce-3.4.3.2和prettyLoader-1.0.1从网络检索jquery-ui-1.8.7.min.js、prettyLoader-1.0.1.js、tin