zoukankan      html  css  js  c++  java
  • “using NoSQL” under MySQL

    https://dev.mysql.com/doc/refman/5.7/en/document-store.html

    https://dev.mysql.com/doc/refman/5.7/en/document-store-setting-up.html

    在没有MongoDB之前,我们要存储各种类型的文档进入Oracle、MySQL、SQLServer怎么办呢?

    几种方案:

    • 把文档存入blob(二进制)类型的字段中。
      • 优点:文件和这行记录在一起,总能保质一致性。
      • 缺点:随着数据量的增加,读取文档的频繁,数据库性能会很慢;文件大小,还得计算存储下来,白费一些计算资源。
    • 把文档路径存入varchar(255)类型的字段中,实际文件存储在文件系统中。(阿里云的OSS产品解决了存储与备份的问题)
      • windows下文件名最大:255;最大路径长度:260字节,https://blog.csdn.net/wzsy/article/details/49584579
      • linux下文件名最大:255;最大路径长度:4096字节,https://blog.csdn.net/wwlhz/article/details/73838471
      • 优点:数据库存储占用小了,内存占用也小了。
      • 缺点:信息容易不一致,必须保证删除文件的同时,文件信息的记录也必须删除(使用事务控制就会降低效率,MySQL与ActiveMQ保证事务一致性可以用JTA?)。要搭建个测试环境,还得配置独立的文件存储路径,不够自动化。文件损坏,被病毒感染怎么办?

    用MongoDB,当然好了,但是呢,增加了技术的学习成本和运维成本。一个不大的项目,引入这样一个组件,真是无奈之选。

    现在好了,MySQL意识到这个问题了,可以通过参数配置,让其本身很好的支持NO SQL功能,两全其美。

    法律声明,当前此特性,只是预生产状态,引起的问题,Oracle概不负责!!!

    https://dev.mysql.com/doc/refman/5.7/en/document-store-legalnotice.html

  • 相关阅读:
    XX需求分析系统每日进度(二)
    XX需求分析系统每日进度(一)
    周总结(二)
    Hyperleder Fabric chaincode生命周期
    【转】六种学术不端的引用行为
    引导学生,让学生不走神。
    MySQL 的常用引擎
    LeetCode283移动零问题java高效解法
    使用android studio进行springboot项目的开发
    android逆向反编译工具包下载
  • 原文地址:https://www.cnblogs.com/rgqancy/p/8695168.html
Copyright © 2011-2022 走看看