T级数据存储方案的选型

T级数据存储方案的选型

近期在开发一个物联网项目,终端设备会采集下位机的信息,并每隔几秒(或有事件触发)向平台上报数据。目前初步观察的数据量为14G/天,数据在平台的有效期至少半年,所以这半年下来,需要存储的数据量大概为2.5T,而且终端设备在不断的增加,上报的数据量也在增加,所以需要选择一种比较好的数据存储方案来应对这些大数据的存储和项目的需求。

数据规模分析

据现有数据分析:

  1. 平台数据至少需要留存半年(6个月)
  2. 每分钟终端大致会上报10M左右的数据,一天内有14G,半年大致有2.5T
  3. 终端设备数仍在不断的增加,需要存储的数据也在增加

用户对数据的需求分析

  1. 实时数据:查看当前终端设备的状态信息
  2. 较高频次数据:当天、3天内、7天内的数据
  3. 冷数据:7天后的历史数据
    ⇒ 冷数据占据了整个的数据量

各类型数据库分析

关系型数据库:

  • 关系型数据库(如:MySQL、SqlServer等)
    常用的关系型数据库更便于存储结构化的数据,对事务、复杂查询等都有很好的支持,比较适合那些数据量不是非常大(1000w数据以下)、有事务或复杂查询等需求的场景。
    由于我这个数据量比较大,而且冷数据所占比重很大。如果用此类数据库作存储的话,一是有些不划算(很多时间很可能就存储了,后面几乎不用),二是比较难以支撑大数据存储。

非关系型数据库:

  • Redis
    Redis属于内存数据库,所有的数据都在内存之中(虽然可以磁盘化,但是运行的都是,所有的数据都会载入内存)。
    Redis比较适合做可允许可能会丢失数据的缓存数据库(服务器在异常掉电或关闭情况下,Redis可能会丢失数据)。

    • Redis为内存型KV系统,处理的数据量要小于HBase与MongoDB
    • Redis很适合用来做缓存,但除此之外,它实际上还可以在一些“读写分离”的场景下作为“读库”来用,特别是用来存放Hadoop或Spark的分析结果。
    • Redis的读写性能在100,000 ops/s左右,时延一般为10~70微妙左右;而HBase的单机读写性能一般不会超过1,000ops/s,时延则在1~5毫秒之间。
    • Redis的魅力还在于它不像HBase只支持简单的字符串,他还支持集合set,有序集合zset和哈希hash
  • SSDB
    SSDB是一个开源的高性能数据库,使用Google LevelDB作为存储引擎,可以支持T级别的数据,可以非常方便的把数据迁移到SSDB上。官网说是作为Redis的替代方案的数据库,同时有分布式方案。
    如果既想快速的提供数据的读写,又想对数据进行可靠存储的话,使用SSDB是一种可选方案。

  • MongoDB
    MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系数据库中功能最丰富(支持索引、较复杂查询等),最像关系数据库;是一个基于分布式文件存储(BSON)的数据库。

  • HBase
    HBase是建立在Hadoop体系中的大数据存储方案,数据扩展简单、开源、分布式、版本化、列存储的数据库,主要用于存储海量数据以及对海量数据的数据分析。
    但是它在完全分布式部署(生产部署)时,至少需要3台机器才可以有效的跑起来,同时对他的部署和学习成本相对会高些(后续文章中会说到HBase在部署时所遇到的坑)。

结论

通过调研、查询文档和部分测试以及考虑到未来的扩展性,并和客户沟通(主要是机器成本)后,最终选择 HBase 作为我们的存储方案。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在选择xc7a35t DDR选型时,需要考虑以下几个因素。 首先,我们需要确定DDR的类型。xc7a35t是Xilinx公司的FPGA器件型号,它支持不同类型的DDR,如DDR3、DDR4等。在选择DDR类型时,需要考虑系统的性能需求、成本和兼容性等因素。 其次,我们需要考虑DDR的容量。容量取决于应用的需求,包括数据存储和处理的要求。较大的容量可以提供更高的性能和存储能力,但也会增加成本和功耗。因此,需要根据具体应用场景和预算来选择适当的容量。 另外,我们还需要考虑DDR的时钟频率。时钟频率决定了DDR的数据传输速度和带宽,对系统性能有直接影响。较高的时钟频率可以提供更快的数据传输速度,但也会增加功耗和设计难度。因此,需要在性能和成本之间进行权衡,选择合适的时钟频率。 此外,还需要考虑DDR的工作电压和时序要求。不同型号的DDR具有不同的工作电压和时序规格,需要确保FPGA器件和DDR之间的兼容性和稳定性。请参考器件和DDR的规格说明书,确保选择适当的工作电压和满足时序要求。 最后,还需要考虑选用DDR时的布局和连接等硬件设计要求。确保DDR与FPGA器件之间的物理连接和电气特性符合规范,以确保系统的稳定性和可靠性。 综上所述,xc7a35t DDR选型需要综合考虑DDR类型、容量、时钟频率、工作电压、时序要求以及硬件设计要求等因素,根据具体应用的要求和限制,选择合适的DDR选型。 ### 回答2: XC7A35T是Xilinx的一款低成本、低功耗的FPGA芯片,它在工业控制、通信、汽车电子、医疗电子等领域应用广泛。其中,DDR选型是指在设计中选择适合XC7A35T芯片的双数据率(DDR)内存类型。 DDR内存是一种高速的存储器,广泛应用于计算机系统和嵌入式系统中,能够提供高带宽和较低的时延,从而加快系统的数据传输速度和响应速度。 在选择DDR类型时,需要考虑以下几个方面: 1. DDR版本:DDR内存有多个版本,包括DDR、DDR2、DDR3、DDR4等。选择适合XC7A35T芯片的DDR版本,既要考虑系统需求,又要考虑芯片支持能力。 2. DDR频率:DDR内存的频率越高,数据传输速度越快。需要根据XC7A35T芯片的特性和硬件设计的要求,选择适合的DDR频率,以在提供较高传输速度的同时,确保系统的稳定性。 3. DDR容量:DDR内存的容量决定了系统可以存储数据量。选择适当的DDR容量,需要考虑到系统设计的需求,包括数据处理的复杂程度、存储需求等。 4. DDR电压:DDR内存的电压通常为1.8V或1.5V,需要根据XC7A35T芯片的工作电压和硬件设计的要求选择合适的DDR电压。 综合考虑以上因素,选择适合XC7A35T芯片的DDR类型,可以充分利用芯片的性能,提高系统的数据传输速度和响应速度,满足系统设计的需求。 ### 回答3: XC7A35T是Xilinx公司生产的一款FPGA(现场可编程门阵列)芯片,它具有提供定制化硬件解决方案的能力。DDR(双数据速率存储器)是一种高性能的内存技术,广泛应用于计算机和嵌入式系统中,用于存储和处理数据。 在选择XC7A35T的DDR选型时,需要考虑以下几个方面: 1. 预算:预算是选择DDR选型的一个重要因素。不同的DDR类型和容量有不同的价格,需要根据项目的预算来选择适合的DDR。 2. 性能需求:根据项目的性能需求决定DDR的频率和带宽。DDR的频率决定了数据的传输速度,带宽决定了数据的处理能力。根据项目的需求选择适当的频率和带宽。 3. 容量需求:根据项目的存储需求选择DDR的容量。DDR的容量决定了能够存储数据量大小。根据项目的需求选择适当的容量。 4. 兼容性:考虑XC7A35T芯片与选择的DDR之间的兼容性。确保选型的DDR和XC7A35T芯片之间可以良好地配合工作,避免出现不兼容或无法正常使用的情况。 综上所述,选择XC7A35T的DDR选型需要考虑预算、性能需求、容量需求和兼容性等因素。根据项目的具体要求,结合这些因素进行合理的选择,以满足项目的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiongxianhe

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值