zoukankan      html  css  js  c++  java
  • 聊聊数据存储查询

    这里我没有说出是数据库的操作,但是一般来说,我们都是采用数据库。对于数据库存储,我想先说说几类优化。

    (1)SQL语句优化

              说SQL语句优化,这个内容比较大,我记得还有专门说SQL优化的文档,网上可以自己搜索,因为每一种数据库有自己特性,优化语句不一样。通用的就是创建索引,查询时尽量有索引。少用in.

    (2)  业务上的优化

        所谓业务的优化,其实就是根据自己的业务和查询需要(插入需要),将数据库表进行合并或者字段简化,一遍减少连接上的查询筛选。已达到速度提升。当然有时候对于DBA来说,存储是冗余的,但是考虑整个系统,能够提升体验,冗余还是需要的,这就是存储上的用空间换时间

    (3)分离数据库

        这里的分离有我们一般的读写分离,还有专门的业务分离。读写分离不说了。从业务的角度,我们可以将数据按照一定信息和需要,采用多种方式,多种数据库进行存储。例如:1,采用缓存(内存数据库)存储一些数据。2.采用本地数据库(嵌入式数据库,本地文档数据库)或设计的文件格式存储,另外适合的nosql数据库,综合应用,解决查询问题。将一些数据放入这类存储中。

    (4)构建系统式的查询服务器

           这类解决的问题:

    1.解决按照客户端问题(Oracle)

    2.解决查询,插入瓶颈,充分利用服务器优势。

    3.解决部署复杂度,客户端只需要提交SQL语句。

    4.简化(3)中的多类数据库综合问题,同时可以利用数据库特性。现在很多数据库专门优化了文件导入,利用服务器之间导入文件,提升客户端批量插入。

    5.可以扩展集群,提升性能。

    大概就这么几类,说的很简单,只是为大家提供一个解决思路。

    对于系统构建,我打算写一个demo,用sqlite数据库作为内存数据库,本地数据库,用berkeleydb做K-V数据库。redis数据库作为远端内存数据库。用postgresql作为大型数据库和文件导入方案。写完之后会提交,提供一个思路。传输只实现tcp,udp.

        

  • 相关阅读:
    Eureka获取服务列表源码解析
    Eureka客户端续约及服务端过期租约清理源码解析
    Eureka应用注册与集群数据同步源码解析
    Eureka重要对象简介
    EurekaClient自动装配及启动流程解析
    idea2019注册码
    EurekaServer自动装配及启动流程解析
    程序员的算法课(5)-动态规划算法
    程序员的算法课(4)-二分查找
    程序员的算法课(3)-递归(recursion)算法
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/10312348.html
Copyright © 2011-2022 走看看