MySQL-Redis-hdfs-hbase-Kafka存储选型

有10000个元素,让你放数据库!存(数组、链表)------10000个链表 复杂度O(n)-----分而治之 4*2500条变成O(4)左右,但不会提高性能。所以结合一下哈希表、索引等,大大优化性能。分治---这个思想太重要了,Redis代理集群、Nginx反向代理负载均衡等等、Netty中的线程池。磁盘寻址:ms级别内存寻址:nm级别 内存处理比磁盘处理快一万倍。1,为啥...
摘要由CSDN通过智能技术生成

有10000个元素,让你放数据库!

存(数组、链表)------10000个链表 复杂度O(n)-----分而治之 4*2500条变成O(4)左右,但不会提高性能。所以结合一下哈希表、索引等,大大优化性能。

分治---这个思想太重要了,Redis代理集群、Nginx反向代理负载均衡等等、Netty中的线程池。

磁盘寻址:ms级别
内存寻址:nm级别  内存处理比磁盘处理快一万倍。

1,为啥文件体积慢慢变大,查询速度越来越慢?

答:全量IO,流变大?

2,索引也是数据,但是全量遍历索引也比全量遍历表数据强。

老式的MySQL:对索引排序,组织成树结构!B、B+、红黑。树干树枝放内存,叶子放在磁盘(索引)真实数据和叶子有个指向。

 

3,如果你的表越来越大,是不是CRUD就慢了?

答:这事儿,得看场景。比如CRUD就是读和写,查是读其他的写。那么增删改一定变慢,设计数据排序索引调度等。但是读-查询,如果数据库只有一个客户端的一个连接,where过滤查询并且命中了索引,那么反应速度也是ms级别的。

那么啥时候查询也会变慢?高并发场景!受制于磁盘带宽吞吐。

数组在磁盘很大ÿ

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于mysql/redis等6大数据库,在7种java业务中的选型与调优可以从以下角度来考虑: 1. 事务型业务:对于需要保证ACID(原子性、一致性、隔离性和持久性)特性的业务,如支付系统或订单系统,适合选择MySQL这类关系型数据库。可以通过使用InnoDB引擎来提供事务支持,并进行合理的索引设计与数据表分区来提高性能。 2. 缓存型业务:对于频繁读取的数据,如热门商品、热门文章等,可以选择使用Redis等内存数据库作为缓存,提高读取速度。可以使用Redis提供的Hash类型或Sorted Set等数据结构来存储和操作数据。 3. 日志型业务:对于需要记录用户操作日志或系统日志的业务,可以选择使用MySQL数据库。可以使用数据库的分区表或者分库分表技术来分散写入压力,使用数据库索引来提高查询效率。 4. 大数据量存储:对于需要处理大量数据的业务,如用户行为数据分析或日志分析等,可以选择使用Hadoop等大数据处理平台,将数据存储在分布式文件系统中,如HDFS,再通过Hive或HBase等工具进行查询和分析。 5. 高并发读写:对于需要处理高并发读写请求的业务,如社交网络或在线视频等,可以考虑使用分布式数据库,如TiDB或Cassandra等,以支持水平扩展和负载均衡,提高系统的并发能力。 6. 实时计算:对于需要实时计算的业务,如推荐系统或风控系统,可以选择使用流式处理框架,如Flink或Spark Streaming等,结合类似Kafka等高吞吐量消息队列,对数据进行实时处理和计算。 在选型和调优时,需要根据具体业务需求和系统性能要求来选择合适的数据库,并进行合理的设计和配置。同时,还需要进行性能测试和监控,根据实际情况进行优化,如合理调整数据库参数、优化SQL查询语句、缓存数据等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mr.Thompson

相互学习,欢迎指正。

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

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

打赏作者

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

抵扣说明:

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

余额充值