热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

【巨杉访谈】分布式数据库如何实现海量数据实时查询

巨杉数据库高访问量、海量数据业务背后的基础系统架构是如何设计和优化的?分布式数据库是如何做到数据的透明水平、垂直拆分,实现海量数据实时查询的࿱

巨杉数据库高访问量、海量数据业务背后的基础系统架构是如何设计和优化的?分布式数据库是如何做到数据的透明水平、垂直拆分,实现海量数据实时查询的?



访谈实录


1.巨杉数据库作为国内第一款自主研发的 NewSQL 数据库,在发展过程中是否遇到困难或质疑?与海外产品如 MongoDB 有什么区别?


巨杉数据库是巨杉团队从零开始研发的,数据库内核是没有基于任何的开源数据库产品的。这一点也是我们团队非常自豪的一个成绩。


在发展过程中,自然也是有一些人对我们表示质疑,或者是认为国内团队不可能从零开始开发数据库,或者即使是国内开发的,性能和稳定性也一定不如海外产品。不过如今,巨杉经过了企业市场的考验,也真正用产品和技术服务证明了自己。我们超过百家的企业用户,特别是银行这样客户的认可和大规模使用,也是对我们最好的褒奖吧。


对于海外产品的对比,我们的性能通过第三方的测试,与 MongoDB、Cassandra 等都在统一水平,部分性能甚至大大优于海外的产品。同时,上面提到的多个企业应用场景,我们也是实打实的磨炼出来的,许多企业级应用场景,比硅谷的 NoSQL/NewSQL 产品都要领先。


2.巨杉数据库在企业的应用场景有哪些?在解决用户需求方面有什么心得?


巨杉数据库发布5年以来,在企业级大数据应用中积累了丰富的经验,也打磨出我们的主要场景。


企业对于数据库的新需求主要包括海量数据的管理、非结构化数据的管理、历史数据在线化以及数据全维度展现等等。因此巨杉也培育了几大解决方案,包括:海量历史数据平台,企业内容管理平台,大数据湖,全量数据视图等等。


3.能否谈谈巨杉数据库在海量数据存储以及高性能的查询这块技术上有什么亮点?


首先,由于巨杉数据库是天生的分布式架构,因此能方便快捷地在X86架构下实现集群规模和存储容量的水平扩展,这使得海量数据的存储不仅变得简单易行,而且和传统方式相比成本大幅下降。


而在数据的录入和使用方面,巨杉数据库更是充分发挥分布式架构的优势,提供了一系列的技术手段以实现最佳效率,比如垂直分区、水平分区、自动读写分离、自定义存储分布策略等。除此之外,我们并没有丢弃现有的技术,而是充分利用了已经在数据库领域中广泛使用的一些技术手段,比如灵活高效的索引机制、高效数据压缩等,进一步提高了数据操作时的效率。最后,为了方便传统的数据库使用者,我们还特意提供了 SQL 引擎,并结合巨杉数据库的技术特点对 SQL 引擎做了优化,让 SQL 使用者在巨杉数据库上也能有最佳体验。


综合以上特点可以看出,对于有海量数据存储和高效查询要求的用户来说,巨杉数据库是非常好的选择!


4、当数据达到亿级或者百亿级以上,数据库平台构架如何设计和优化?在这个领域有什么坑是开发者可以避免的?


在银行这样的企业级应用中,亿级的数据基本是比较小儿科。通常数据量都是百亿级别,超过百TB。


对于这样的海量数据来说,“分布式”技术几乎是不二之选!以巨杉数据库为例,可利用垂直分区、水平分区等功能,充分结合业务数据的特点(这一点很重要),在数据库层面做好架构设计,这样就能将海量数据均匀分布到分布式集群的各个节点上,同时又不会增加应用的复杂度。一旦做好了这样的架构设计,应用层无论是数据的录入操作还是查询操作,在数据底层都能自动定位成部分节点内甚至单节点内的操作,从而将针对海量数据的操作转化成了小批量的操作,必然实现效率上的极大提升。


但是,也必须要意识到在“大数据”时代,数据量的膨胀速度是超乎人们想象的,局部节点内的数据也可能会达到一个不小的数量级,这几乎是难以避免的情况。在这种情况下,除了在现有集群上继续做水平扩展之外,也要充分利用高效索引及数据压缩等传统技术以提高单节点内的效率。


最后,不要忘记巨杉数据库的读写分离和自定义数据分布策略等机制,它们可以帮助你将负载均匀分散到不同的节点上,从而最大程度上避免“热点”竞争的出现,这也是分布式技术所具有的天然优势。


5、如何评价现有的分布式大数据处理开源架构?它们中有何需要改进或者值得借鉴的地方?


第一,Hadoop 不代表大数据的全部,现在国内好像行成了一种风气,Hadoop 就代表了大数据。但事实 Hadoop 能解决的也只是一部分的需求,特别在大数据的在线实时交互这一块,NewSQL/NoSQL 也是不错的选择。而这一点近一年多来,我们也在众多的企业级用户身上证实了。


第二,对于分布式数据库本身。NoSQL 和关系型数据库这两者肯定是逐渐融合的过程,NoSQL 数据库会不断注重企业级功能如 SQL 支持的提升,也是因此现在衍生出了 NewSQL 的概念。数据库未来将会是一个分布式、高性能的立足实时处理和在线服务同时作为数据源支持上层的数据分析应用的定位。


6.为什么很多分布式的数据库都采用开源的模式?这种形式有什么优劣势?


我们很认同一种划分就是 “开源软件商业化”和“商业软件开源化”。巨杉走的是“商业软件开源化”的路线。


我们坚持以商业化软件为核心,向企业用户提供为企业用户提供高质量、稳定可靠的商业化产品与标准化专业化的技术服务,这也是企业市场不变的需求。


可以说是一种技术上的情怀,让我们也和硅谷的前辈们一样选择开源,我们自己开发的数据库产品,我们也希望和更多的开发者分享我们的技术。


同时我们也在商业化经营同时,通过产品的开源和开源生态建立,快速推进产品技术的品牌和用户,同时能帮助构建自己的技术生态。


此外,开源也有出于我们团队的技术自信,也是一种程度回应对于我们 自己研发的质疑吧。


而对于“开源软件商业化”,如果完全开放开源,对于商业化运营会有不小的影响。主要也就是商业化与社区版发展的关系,社区的需求与企业用户的需求不一定一直,商业版本与社区版本的发展方向也可能互相冲突,甚至于商业化团队无法完全掌握核心技术,这对于用户来说可不是好消息。


7.对于想踏入或刚刚进入这个领域的新人来说,有没有什么心得建议?


对于在这个领域经验尚不够丰富的朋友们来说,我个人认为最重要的两点建议就是:


1)充分了解你想使用的分布式技术有哪些特点,并且一定要充分结合你的业务特点,这样你才有可能做出最佳选择。记住,绝没有哪一项技术在所有的业务场景下都是最佳选择,最适合业务场景的才是最佳选择!


2)理论分析固然重要,但实测更有说服力!不要嫌麻烦,一定要用全面的测试结果来支持(或者推翻)你的方案。


上面这两点看上去都是很朴素的道理,但实际操作中却经常被忽略,也是极容易掉进去的坑。




【巨杉访谈】分布式数据库如何存储管理非结构化数据?

巨杉数据库王涛:NewSQL重新定义企业级大数据应用







产品特性
解决方案与案例 
数据库下载 
技术文档 

微信客服:
sequoiadb111




%$(LAXO}X%1H2{JOLG640GP.jpg











推荐阅读
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 开发心得:利用 Redis 构建分布式系统的轻量级协调机制
    开发心得:利用 Redis 构建分布式系统的轻量级协调机制 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 提升Android开发效率:Clean Code的最佳实践与应用
    在Android开发中,提高代码质量和开发效率是至关重要的。本文介绍了如何通过Clean Code的最佳实践来优化Android应用的开发流程。以SQLite数据库操作为例,详细探讨了如何编写高效、可维护的SQL查询语句,并将其结果封装为Java对象。通过遵循这些最佳实践,开发者可以显著提升代码的可读性和可维护性,从而加快开发速度并减少错误。 ... [详细]
  • 为何Serverless将成为未来十年的主导技术领域?
    为何Serverless将成为未来十年的主导技术领域? ... [详细]
  • EST:西湖大学鞠峰组污水厂病原菌与土著反硝化细菌是多重抗生素耐药基因的活跃表达者...
    点击蓝字关注我们编译:祝新宇校稿:鞠峰、袁凌论文ID原名:PathogenicandIndigenousDenitrifyingBacte ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • 触发器的稳态数量分析及其应用价值
    本文对数据库中的SQL触发器进行了稳态数量的详细分析,探讨了其在实际应用中的重要价值。通过研究触发器在不同场景下的表现,揭示了其在数据完整性和业务逻辑自动化方面的关键作用。此外,还介绍了如何在Ubuntu 22.04环境下配置和使用触发器,以及在Tomcat和SQLite等平台上的具体实现方法。 ... [详细]
  • Spring框架的核心组件与架构解析 ... [详细]
  • 在前一篇文章《Hadoop》系列之“踽踽独行”(二)中,我们详细探讨了云计算的核心概念。本章将重点转向物联网技术,全面解析其基本原理、应用场景及未来发展前景。通过深入分析物联网的架构和技术栈,我们将揭示其在智能城市、工业自动化和智能家居等领域的广泛应用潜力。此外,还将讨论物联网面临的挑战,如数据安全和隐私保护等问题,并展望其在未来技术融合中的重要角色。 ... [详细]
  • 本书《.NET Core 2.* 开发者指南》是面向开发者的全面学习与实践手册,涵盖了从基础到高级的各个层面。书中详细解析了 .NET Core 的核心概念,包括如何创建 .NET Core 网站,并通过视频教程直观展示操作过程。此外,还深入探讨了 Startup 类的作用、项目目录结构的组织方式以及如何在应用中使用静态文件等内容。对于希望深入了解 .NET Core 架构和开发技巧的开发者来说,本书提供了丰富的实践案例和详尽的技术指导。 ... [详细]
  • Spring Boot与Redis的高效集成方案
    本文探讨了Spring Boot与Redis的高效集成方法,详细介绍了如何在Spring Boot项目中配置和使用Redis,以提升应用性能和数据处理能力。同时,文章还涉及了Go语言社区的相关资源,为Golang开发者提供了宝贵的技术交流平台。 ... [详细]
author-avatar
yuanyuan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有