您当前的位置:首页 > 电脑百科 > 数据库 > 百科

下一个十年,我们需要一款什么样的 OLAP 数据库?

时间:2023-01-12 14:03:54  来源:CSDN  作者:

作者 | 陈明雨 责编 | 梦依丹

身处在日新月异的时代,我们见惯了技术的兴起与繁荣、变迁与衰落,甚至是朝荣夕灭。信息技术以前所未有的速度更迭,给周遭事物带来了颠覆性地变化。数据库亦是如此,无数数据库悄然湮没在技术更迭的浪潮里,直到在浩渺如海的代码片段中都找不到些许印记。而有的则历久而弥新,经受了时间的考验,彰显出强大的生命力,并以更加繁茂的姿态扎根生长。

十年对于数据库意味着什么?

十年对于数据库而言,可能是一段从诞生到消逝的完整软件生命周期,也可能是迈过里程碑之后的全新旅程。

所以从 MySQL 1.0 版本诞生,到具备颠覆性意义的 MySQL 5.7 版本正式发布,时间跨度刚好是十年,而十年之后的故事,大家已经都知道了。

所以从 Benoit、Thierry、Marcin 联合创建 Snowflake,到在纽交所成功上市、成为软件行业有史以来最大规模的 IPO,再到全面开启云数据仓库时代,时间跨度也差不多十年。

而对于 Apache Doris,十年意味着什么?

留个悬念,在回答这个问题之前,我们不妨来回顾下社区发展历程。

尽管最早的历史可以追溯到 2008 年的百度凤巢广告系统,但彼时非 SQL 的单机查询引擎加 KV 存储系统在产品形态上与 OLAP 还有着较大的差异。

正式确立 OLAP 数据库这一形态是在 2013 年。通过自研全列式存储引擎 OLAP Engine 并基于 Apache Impala 改造了全新的 MPP 查询引擎,自此,Doris 真正成为了具备大数据量下高效支持数据分析能力的 OLAP 数据库,并在百度内部大规模应用,成为了百度内部统一的 OLAP 分析平台。

往往一个内部项目的发展会有两种演进模式,一种是随着需求的增加系统架构日益臃肿,当面对较为灵活的需求,常因改动成本过大而被彻底重构。另一种则是长期服务某一固定场景、需求逐渐收敛乃至停滞,最终被快速革新的外部技术彻底取代。而开源则是内部项目的一场新生,在更广阔的应用场景、更多样的开发者群体以及更高效的研发模式加持下开启新的篇章。

于是在数个版本的迭代与优化后,2017年 Doris 的前身在 Github 上开源,2018 年进入 Apache 基金会孵化,并正式更名为 Apache Doris。(GitHub 地址:https://github.com/apache/doris)

时至 2022 年,正是 Apache Doris 在 OLAP 领域深耕的十年之际。

Apache Doris 2022 回顾

2022 年,外部世界正处在前所未有的变化之中,无数魔幻时刻在现实中发生。需要庆幸的是,技术和开源的力量帮助我们穿越了许多不确定性。而这一年势必成为 Apache Doris 发展历程中有着浓墨重彩的一年,我们从几个角度来回顾一下 Apache Doris 过去一年的发展:

社区重要指标

过去一年中:

  • 社区累计贡献者的数量从 200 余位增长至近 420 位,同比增长超过 100%,目前仍在持续上升中。

  • 每月活跃贡献者的数量从 50 位增长至 100 位,同样呈现翻倍增长的趋势。

  • GitHub Star 数量从 3.6k 增长至 6.8k,多次登上 GitHub Trengding 日/周/月度榜单前列。

  • 全部 Commits 数量从 3.7k 增长至 7.6k,过去一年新提交代码量超越了以往多年累加总和。

从这些数据中,我们可以感受到 2022 年是 Apache Doris 全面爆发的一年,各个维度数据指标几乎都有了 100% 的增长。这一年的努力也使 Apache Doris 成为了全球大数据和数据库领域最为活跃的开源社区之一,上方 GitHub Contribution 增长趋势图更是证明了这一点。而这一切,正是由社区所有的用户和开发者共同创造的。

另外值得纪念的是,在 2022 年 6 月, Apache Doris 迎来了开源以来最重要的里程碑之一,正式从 Apache 孵化器毕业、成为了 Apache 顶级项目。

开源用户规模

得益于社区成立的专职工程师团队,为 Apache Doris 社区用户提供义务的技术支持,2022 年我们在用户连接与沟通方面变得更加顺畅,可以更直面用户、去倾听用户真实的声音。

在过去的一年里,Apache Doris 已经在互联网、金融、电信、教育、汽车、制造、物流、能源、政务等数十个行业应用落地,尤其是在以海量数据著称的互联网行业。在中国市值或估值排行前 50 的互联网公司中,有 80% 企业在长期使用 Apache Doris 来解决自身业务中的数据分析问题,其中包含了百度、美团、小米、腾讯、京东、字节跳动、网易、新浪、360、 米哈游、知乎等头部知名企业。

在全球范围内,Apache Doris 已经得到了超过 1000 家企业用户的认可,并且这一数字仍在快速增长中。这 1000 多家企业用户中,绝大多数与社区有着直接联系,并通过各种方式参与到社区建设中来。他们中的许多企业用户也参与到本次 Doris Summit 的议题分享中,将自身基于真实业务场景的实践经验分享给大家。

版本更新迭代

如果说过去版本将使用和运维的简易性作为第一追求的话,那么 2022 年发布版本则是在性能、稳定性、易用性等多方面特性的全面进化。

  • 4 月份社区发布了自开源以来的首个 1 位版本—— Apache Doris 1.0,在 1.0 版本中,意义非凡的向量化执行初次与大家见面,标志着 Apache Doris 开始迈入极速数据分析时代。

  • 6 月份发布的 1.1 版本,我们对向量化引擎进行了进一步完善和优化,并将其作为正式功能默认开启。与此同时,社区建立了 LTS 版本发布机制,以每月发布一个 3 位版本的速度,对 1.1 版本进行快速地 Bug 修复和功能优化,力求满足更多社区用户在稳定性方面的高要求。

  • 在综合考虑版本迭代节奏和用户需求后,我们决定将众多新特性在 1.2 版本中发布。同时期社区的稳定性和质量保障工作也取得了显著的成效,测试 Case 得到了极大程度地丰富,并在 Master 分支上构建了流水线。通过一系列质量手段,Apache Doris 的代码质量和稳定性得到进一步提升,这也使得版本发布有着更加严格的准出标准。

  • 12 月初 1.2 版本正式面世。这一版本的发布不仅使查询性能有了近十倍的提升,同时我们还推出了过去半年时间里研发的诸多重磅功能,包括 Unique Key 模型 Merge-on-Write 的数据更新模式、支持无缝对接多种数据湖的 Multi-Catalog 多源数据目录、JAVA UDF 、Array 数组类型和 JSONB 类型等,让 Apache Doris 在更多数据分析场景具备了更强的适应性和可能性。

  • 我们也针对系统稳定性进行了大量的工作,一方面,利用 SQL Smith 等自动化测试工具以及各个知名开源项目的测试用例,构建了数以百万计的测试用例集;另一方面,通过社区准入流水线和完善的回归测试框架,保证了代码合入的质量。因此1.2 版本不论从功能、性能还是稳定性方面,都是一次厚积薄发后的全面进化,也是对所有开发者在 2022 年辛苦付出的最好回报。

核心特性演进

核心特性方面,社区的研发力量主要围绕四个方面开展工作,分别是性能、实时性、半结构化数据支持与 Lakehouse。

  • 查询性能提升。从 1.0 版本面世到 1.2 版本发布,Apache Doris 在性能方面取得了极为显著的成绩。在单表场景上,Apache Doris 荣登 Clickhouse 公司推出的 Clickbench 数据库性能榜单,并取得了前三名的优秀成绩。在多表关联场景上,得益于向量化执行引擎及各种查询优化技术,相对 2021 年底发布的 0.15 版本 ,Apache Doris 在 SSB 和 TPC-H 等标准测试数据集下均取得了数倍乃至数十倍的性能提升。这一系列性能方面的优化,已经成功让 Apache Doris 跻身全球数据库性能最优阵列中!

  • 实时场景优化。在 1.2 版本中,我们在原有 Unique Key 数据模型上实现了Merge-On-Write 的数据更新方式,查询性能在高频更新时有 5-10 倍的提升,实现了在可更新数据上的低延迟实时分析体验。另外还实现了轻量 Schema Change 功能,对于数据的加减列不再需要转换历史数据,可通过 Flink CDC 等工具快速便捷地同步上游事务数据库中的 DML 或 DDL 操作,使数据同步工作能够更加流畅统一。

  • 半结构化数据支持。目前 Apache Doris 支持了 Array 和 JSONB 类型,其中 Array 类型不仅能更方便地存储复杂的数据结构,还可以通过 Array 函数满足用户行为分析等场景的业务需求。而 JSONB 是一种二进制 JSON 存储方式,它不但比纯文本 Text JSON 的访问性能快 4 倍,同时也有更低的内存消耗。通过 JSONB 可以方便地导入各种 JSON 格式的日志数据结构,并能取得优异的查询效率。这也是 Apache Doris 在日志分析领域所做的探索之一。

  • Lakehouse。在最新发布的 1. 2 版本中,我们引入了全新的 Catalog 概念,正式将 Apache Doris 迈入湖仓一体时代。通过简单的命令便可以方便地连接到各自外部数据源并自动同步元数据,实现统一的分析体验。通过 Native Format Reader、延迟物化、异步 IO、数据预取等多项针对外部数据源的性能优化,并充分利用自身的高性能执行引擎和查询优化器,在对外表访问性能上,Apache Doris 可以达到 Trino/Presto 的 3- 5 倍、Hive 的 10-100 倍。

2023 RoadMap

承前而启后,2023 年,Apache Doris 社区在以上几方面特性持续完善的同时,也将开启更多有意义的工作。全年的 RoadMap 以及明年 Q1 的具体计划,可以参考以下的全景图:

稳定的版本发布和迭代速度对于开源软件至关重要。在 2023 年,我们将以每季度一个 2 位版本的节奏,开始 Apache Doris 2.x 版本的迭代。同时,针对每个 2 位版本,我们也将以每月一个 3 位版本的速度进行功能维护和优化。

从功能角度来看,后续研发工作将会围绕以下几个主要方向展开:

高性能高性能是 Apache Doris 不断追求的目标,过去一年在 Clickbench、TPC-H 等公开测试数据集上的优异表现,已经证明了其在执行层以及算子优化方面做到了业界领先。未来我们也会不断优化各个场景下的性能表现,回馈用户极速的数据分析体验,具体包括:

  • 更复杂SQL性能提升:2022 年我们已经启动全新查询优化器的设计与开发,而这一成果在 2023 年一季度就将与大家见面。全新查询优化器提供了丰富的规则模型,实现了更智能的代价选择,可以更高效地支撑复杂查询,能够完整执行 TPC-DS 全部 99 个SQL。同时全新查询优化器还具备全查询场景的自适应优化,便于用户在面对不同分析负载和业务场景时都获得一致性的使用体验。

  • 更高的点查询并发:高并发一直是 Apache Doris 所擅长的场景,而 2023 年我们将会进一步加强这一能力,通过 Short-Circuit Plan、Prepare Statement、Query Cache 等一系列技术,实现单机数万 QPS 的超高并发支持,并具备随集群规模的拓展进而线性提升并发的能力。

  • 更灵活的多表物化视图:在过去版本中,通过强一致的单表物化视图,Apache Doris 加速了固定维度数据的分析效率。而全新的多表物化视图将会解耦 Base 表与 MV 表的生命周期,通过异步刷新和灵活的增量计算方式,满足多表关联以及更复杂 SQL 的预计算加速需求,这一特性将在接下来的 2023 年第一季度与大家见面!

高性价比 成本和效率对企业而言是赢得市场竞争的关键,对数据库而言亦是如此。过去 Apache Doris 凭借在易用性方面的诸多设计帮助用户大幅节约了计算与存储资源成本,后续我们也会引入一系列云原生能力,在不影响业务效率的同时进一步降低成本,具体包括:
  • 更低的存储成本:我们将探索与云上对象存储系统和文件系统的结合,帮助用户进一步降低存储成本,包括更完善的冷热数据分离能力,将冷数据智能转移至更廉价的对象存储或文件系统中。结合单一远程副本、冷数据 Cache 以及冷热智能转换等技术,保证业务查询效率不受影响的同时实现存储成本大幅降低,这一功能将于 2023 年第一季度发布。

  • 更弹性的计算资源:剥离存储与计算状态,引入仅用于计算的 Elastic Compute Node 。由于不存储数据,弹性计算节点具备更加快速的弹性伸缩能力,便于用户在业务高峰期进行快速扩容,进一步提升在海量数据计算场景(如数据湖分析)的分析效率,这一功能已经处于最终调试阶段,即将与大家见面。后续我们还将通过对集群内存和 CPU 运行指标的监控和自动策略配置,实现自动的节点扩缩容(Auto-scaling)。

混合负载随着用户规模的极速扩张,越来越多的用户将 Apache Doris 用于构建企业内部的统一分析平台。这一方面需要 Apache Doris 去承担更大规模的数据处理和分析,另一方面也需要 Apache Doris 同时去应对更多分析负载的挑战,从过去的实时报表和 Ad-hoc 等典型 OLAP 场景,扩展到 ELT/ETL 、日志检索与分析等更多场景的统一。为了能更好适配这些场景,许多工作已经进入紧锣密鼓的研发中,并将于 2023 年陆续与大家见面,具体包括:
  • 更灵活的 Pipeline 执行引擎:与传统的火山模型相比,Pipeline 模型无需手动设置并发度,可以实现不同管道之间的并行计算,充分利用多核的计算能力,实现更灵活的执行调度,提升在混合负载场景下的综合性能表现。

  • Workload Manager:在性能提升的同时,也亟需完善的资源隔离和划分的能力。我们将会基于 Pipeline 执行引擎实现更细粒度和更灵活的负载管理、资源队列以及共享隔离等功能,兼顾多种混合负载场景下的查询性能与稳定性。

  • 轻量级容错:轻量级容错能力也是我们后续持续完善的地方,既能利用 MPP 的高效率又能对错误进行容忍,以更好适应用户在 ETL/ELT 场景的挑战。

  • 函数兼容与多语言UDF:与此同时,后续也将支持 Hive/Trino/Spark 函数的兼容性以及多语言的 UDF,来帮助用户更灵活地进行数据加工,也可以更方便地从其他数据库系统迁移到 Apache Doris。

多模数据分析在过去 Apache Doris 更多是是擅长于结构化数据分析,随着对半结构化、非结构化数据分析需求的增加,从 1.2 版本起我们增加了 Array 和 JSONB 类型以实现数据的 Native 支持,后续版本仍将持续加强这一能力,为日志分析场景提供性价比更高、性能更强的解决方案,具体包括:
  • 更丰富的复杂数据类型:除 Array/JSONB 类型以外,2023 年第一季度我们将增加对 Map/Struct 类型的支持,包括高效写入、存储、分析函数以及类型之间的相互嵌套,以更好满足多模态数据分析的支持。后续将支持更加丰富的数据类型,包括 IP、GEO 地理信息等数据类型,并会探索在时序数据场景的高效数据分析。

  • 更高效的文本分析算法:对于文本数据,我们将引入更多的文本分析算法,包括自适应 Like、高性能子串匹配、高性能正则匹配,Like 语句的谓词下推、Ngram Bloomfilter 等,同时基于倒排索引实现全文检索能力,在日志分析场景提供比 ES 更高性能和性价比的分析能力。这些功能都已经处于就绪阶段,将在 2023 年初与大家见面。

  • 动态 Schema 表:传统数据库在设计之初 Schema 是静态的,Schema 变更时需要执行 DDL ,而这一操作往往具有阻塞性。在越来越多的现代数据分析场景中,表结构会随时间推移而变化,因此我们引入了 Dynamic Table,可以根据数据写入自动适应 Schema ,不再需要执行 DDL,由过去的人工干预数据结构进化为数据自驱动,极大提升了灵活数据分析的便捷性。这一功能将在 2022 年第一季度正式发布。

Lakehouse随着数据湖技术的发展,分析性能成为发挥数据湖效用、挖掘数据价值最大的掣肘。基于一款简单易用和高性能的查询分析引擎在数据湖之上构建分析服务,成为新的技术趋势。在过去一年,通过在数据湖上的诸多性能优化、结合自身的高性能执行引擎和查询优化器以及,Apache Doris 实现了数据湖上极速易用的分析体验,性能较 Presto/Trino 有 3-5 倍的提升。在 2023 年,我们将会继续完善这一能力,具体包括:
  • 更简易的数据对接:在 1.2 版本中我们发布了 Multi-Catalog,支持了多种异构数据源的元数据自动映射与同步,实现了数据湖的无缝对接,后续将对 Delta Lake 的支持以及 Iceberg、Hudi 等更多数据格式的支持。

  • 更完整的数据湖能力支持:提供数据湖上数据的增量更新与查询,还会支持将分析结果写回数据湖、外表写入内表,实现数据分析流程的全闭环。同时还将支持多版本 Snapshot 读取和删除,并进一步在 Apache Doris 为数据湖数据提供物化视图。

实时性与存储引擎优化数据价值会随着时间推移而降低,因此实时性对于高时效性要求的用户而言至关重要。在 1.1 版本中我们在 Compaction 和 Flink 实时写入方面进行了诸多优化,同时 1.2 版本的 Merge-on-Write 数据更新模式进一步使 Apache Doris 在实时更新与极速查询得以统一。2023 年我们将会持续强化对存储引擎的优化,具体包括:
  • 更稳定的数据写入:通过一系列 Compaction 操作和批量数据写入方面的优化,节省资源开销,降低写放大问题,并结合全新的内存管理框架提升写入过程的内存稳定性,进而提升系统稳定性。

  • 更完善的数据更新支持:过去部分列更新是通过 Agg 模型上的 Replace_if_not_null 来实现的,后续我们将会增加 Unique Key 模型上的部分列更新支持,并完整实现 Delete、Update、 Merge 等数据更新的操作。

  • 更统一的数据模型:当前 Apache Doris 的三种数据模型在各个场景均有丰富的应用,后续我们将尝试统一现有几种数据模型,使用户在使用体验上更加统一。

易用性和稳定性除了功能方面的丰富与完善,更简单、更易用、更稳定同样也是 Apache Doris 一直追求的目标,2023 年我们将在以下几方面出发,让用户具有更简易和放心的使用体验:
  • 简化建表:目前 Apache Doris 在建表时分区已经支持了时间函数,后续我们将进一步消除 Bucket 设置,帮助用户最大程度简化建表建模。

  • 安全性:目前已经实现基于 RBAC 模型的权限管理机制,使用户权限更安全可靠;并对 ID-federation、行列级别权限,数据脱敏等进行了优化,后续将进一步完善。

  • 可观测性:Profile 是定位查询性能问题的重要手段,后续我们将加强对 Profile 的监控并提供可视化 Profile 工具,帮助用户更快定位问题。

  • 更好的 BI 兼容性和更完善的数据集成迁移方案:当前各 BI 工具可以通过 MySQL 协议连接到 Apache Doris,后续我们将对主流 BI 软件进一步适配,保证更佳的查询体验。随着 DBT、AIrbyte 等新兴数据集成和迁移工具的兴起,越来越多用户使用此类系统将数据同步至 Apache Doris ,后续我们也会提供对此些系统的官方支持。

开启下一个十年!

或许有读者或听众还记得我在开头提的问题,对于 Apache Doris,十年意味着什么?

有两层含义,上一个十年和下一个十年。

上一个十年,是 Apache Doris 起源的十年。从诞生到开源、从默默无闻到被越来越多人熟知和使用,开源赋予了 Apache Doris 更加旺盛的生命力和创造力。

而下一个十年,则是一场新的旅程。

正如我在本次 Doris Summit 分享的主题,New Journey of Apache Doris。如果说过去 Apache Doris 更多是服务于在线报表场景和 Ad-hoc 分析的 OLAP 引擎的话,那么在所有社区和开发者的努力下,当前 Apache Doris 已经具备了更为广阔的定位,即极速、易用、实时、统一的多模分析型数据库。

这其中的统一,既包含了架构的统一、也包含了业务和数据的统一。用户可以通过 Apache Doris 构建多种不同场景的数据分析服务、同时支撑在线与离线的业务负载、高吞吐的交互式分析与高并发的点查询;通过一套架构实现湖和仓的统一、在数据湖和多种异构存储之上提供无缝且极速的分析服务;也可通过对日志/文本等半结构化乃至非结构化的多模数据进行统一管理和分析、来满足更多样化数据分析的需求。

这是我们希望 Apache Doris 能够带给用户的价值,不再让用户在多套系统之间权衡,仅通过一个系统解决绝大部分问题,降低复杂技术栈带来的开发、运维和使用成本,最大化提升生产力。

“我们已经出发了太久,以至于忘记了为什么出发。”

希望通过这一定位的转变迎接下一个十年的挑战,或许技术趋势会有变化,架构将会革新,但我们解决用户数据分析问题的初衷不会改变。

希望继续带着上一个十年出发的初心,开启下一个十年的旅程。

本文来自于 Doris Summit 2022 演讲实录,演讲人:陈明雨



Tags:数据库   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  Search: 数据库  点击:(9)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28  Search: 数据库  点击:(18)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  Search: 数据库  点击:(18)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12  Search: 数据库  点击:(35)  评论:(0)  加入收藏
让数据库和缓存数据保持一致的三种策略
如何保证缓存和数据库的一致性,这算得上是个老生常谈的话题啦,看到好多技术新人在写更新缓存数据代码,采用了非常复杂甚至“诡异”的方案,甚为不解。一、背景目前随着缓存架构方...【详细内容】
2024-02-20  Search: 数据库  点击:(43)  评论:(0)  加入收藏
MySQL数据库如何生成分组排序的序号
经常进行数据分析的小伙伴经常会需要生成序号或进行数据分组排序并生成序号。在MySQL8.0中可以使用窗口函数来实现,可以参考历史文章有了这些函数,统计分析事半功倍进行了解。...【详细内容】
2024-01-30  Search: 数据库  点击:(55)  评论:(0)  加入收藏
一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL
本篇文章以具体的SQL语句讲解了数据库SQL语言四大分类(数据定义语言DDL,数据操作语言DML,数据查询语言DQL,数据控制语言DCL),同时也介绍了事务控制语言TCL。最近与开发和运维讨论...【详细内容】
2024-01-30  Search: 数据库  点击:(49)  评论:(0)  加入收藏
一文读懂:什么是数据库,它到底有啥用?
提到数据库,可能很多人会很陌生。但据库其实已经渗入我们生活的方方面面,像网上购物、扫码点餐、抢红包等等应用背后都离不开数据库的支持。可以说数据库是支撑各类应用软件运...【详细内容】
2024-01-25  Search: 数据库  点击:(47)  评论:(0)  加入收藏
oracle数据库基础学习
在当今数字化时代,数据库已成为企业运营的关键要素。而Oracle数据库,作为全球领先的企业级数据库管理系统,更是备受推崇。本文将带您深入了解Oracle数据库的基础知识,帮助您从零...【详细内容】
2024-01-20  Search: 数据库  点击:(98)  评论:(0)  加入收藏
一个流行的支持超多数据库的ORM库
Sequelize 是一个流行的 Node.js ORM(对象关系映射)库,用于在 Node.js 中操作关系型数据库。它支持多种数据库系统,如 PostgreSQL、MySQL、SQLite 和 MSSQL,并提供了简单易用的 A...【详细内容】
2024-01-15  Search: 数据库  点击:(82)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(9)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(5)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(18)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(18)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(10)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(17)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(8)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(10)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(35)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(21)  评论:(0)  加入收藏
站内最新
站内热门
站内头条