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

  • 相关阅读:
    禁止 FireFox 提示安装 Flash 插件
    MongoDb不能同步,可能是服务器时间不一致
    simpletest的一点经验:0个测试、1个Case的情况
    VIM学习笔记:列编辑
    使用 nginx 做http代理
    VirtualBox非常简单的克隆虚拟机的功能
    PDOStatement的HY093错误原因及解决办法
    火狐英文原版的下载地址
    修改 PHP 的 memory_limit 内存限定
    TEA 加密解法,统一了C语言、Java与PHP的运算结果
  • 原文地址:https://www.cnblogs.com/rgqancy/p/8695168.html
Copyright © 2011-2022 走看看