写点什么

IoTDB 单机 / 双活 / 集群部署的区别和适用场景

作者:Apache IoTDB
  • 2024-08-09
    北京
  • 本文字数:1287 字

    阅读完需:约 4 分钟

IoTDB 单机/双活/集群部署的区别和适用场景

目前,IoTDB 支持 3 种部署方式——单机版部署、集群版部署、双活版部署。本文将为大家揭秘 3 种部署方式的含义、优缺点、各自的适用场景和部署方式,方便用户按需选择使用。


01 单机版部署


含义:单机版部署,顾名思义就是将 IoTDB 数据库部署到一台单独的服务器上,将所有数据全部写在一个实例中。


优点:便于开发者安装部署,部署和维护成本较低,操作方便。


缺点:不具备高可用性,存在单点故障风险;仅具有纵向扩展能力,即在单节点上增加更多的 CPU、内存和硬盘来扩大系统的能力。


适用场景:适用于开发测试环境、数据量和访问量较低的小规模应用场景,例如边缘端服务器。


部署方法:在单个服务器上下载安装包进行安装部署,详情指路官网链接:https://timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Stand-Alone-Deployment_timecho.html


02 集群版部署


含义:集群版部署,指的是将同一个数据库拆分为多个节点部署在多个服务器上,集群中各单节点地位相同,共同对外提供服务。当部分节点出现故障时,剩余节点仍然能对外提供服务,保证数据库服务的高可用性。集群版部署的意义在于提升数据库性能、可扩展性和可用性。


集群版部署示意图


优点:具有高可用性、高扩展性,需要扩容时可以新增节点,并在新节点上部署相同的服务,即可减轻数据增量给服务器带来的压力。负载均衡,显著提升性能。


缺点:部署和维护复杂,成本高,对网络要求较高。


适用场景:适用于大规模数据处理、高并发访问的企业级应用场景,如物联网、工业互联网等,需要处理大量时序数据并保证系统高可用性和可靠性的场景。


部署方法:准备多台服务器,明确角色分配,依次启动各机器上的数据库(TimechoDB 企业版需要激活),详情指路官网链接:https://timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Cluster-Deployment_timecho.html


03 双活版部署

含义:双活版部署为 TimechoDB 企业版功能,是指两个独立的单机(或集群),都处于活跃状态,能同时对外提供服务。两个单机实时进行镜像同步,它们的配置完全独立,但可以同时接收外界的写入,并将写入到本机的数据实时同步到另一个单机中,两个单机的数据可达到最终一致。两个单机也可构成一个高可用组——当其中一个单机停止服务时,另一个单机不会受到影响。当停止服务的单机再次启动时,另一个单机会将新写入的数据同步过来。业务可以绑定两个单机进行读写,从而达到高可用的目的。


双活版部署示意图


优点:可实现高可用性、容灾部署,发生故障时可快速切换,保证数据同步。


缺点:实现较为复杂,维护成本高,对于性能的提升效果有限。


适用场景:适用于需要通过两个节点搭建高可用环境,需要电力、网络等容灾部署的场景。


部署方法:分别部署单机版(或集群版)IoTDB,创建并启动 pipe 保证数据流可以互相同步。详情指路官网链接:https://timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Dual-Active-Deployment_timecho.html


04 部署形态特点总结


综上,可以将三种部署形态的特点总结如下,方便用户对比选择。可靠性、扩展性、性能等往往不能同时达到最优,建议根据数据特点、应用场景进行取舍。



用户头像

Apache IoTDB

关注

还未添加个人签名 2021-12-30 加入

海量时序数据管理的解决方案,一款高吞吐、高压缩、高可用、物联网原生的开源时序数据库。

评论

发布
暂无评论
IoTDB 单机/双活/集群部署的区别和适用场景_Apache IoTDB_InfoQ写作社区