初级JAVA程序员应该知道的ElasticSearch的一个坑

  时间:2020-07-09 22:58:03  阅读量:547  评论数:0  作者:预测师

初级JAVA程序员应该知道的ElasticSearch的一个坑介绍了作者的心中所想,无论在工作还是生活上都有较好的参考价值,喜欢的可以仔细研读一下

ElasticSearch是什么?

我在这篇博客里已经介绍过ElasticSearch了。ElasticSearch在大数据量检索的时候速度远远高于Mysql,看起来ElasticSearch好像完美无缺,甚至直觉上ElasticSearch可以代替Mysql(ElasticSearch可以存储数据),OK沿着这个思路,那我们可能会把ElasticSearch当成数据库了,甚至开心的觉得不再需要Mysql或者其他数据库了。

坑:ElasticSearch并不适合做数据库

如果按照上面的思路,那我们就踩坑了,其实ElasticSearch并不适合做数据库,如果ElasticSearch挂掉了,ElasticSearch的数据恢复机制其实很坑的,它会一直尝试恢复,直到真的无法恢复,无法恢复的情况下就会造成数据丢失,OK你可能想到用备份的方式防止这一情况,然而残酷的现实是如果你使用备份的数据,你的索引就需要使用新的索引,这将会导致你的服务无法正常使用,除非你修改代码把旧的索引改成新的索引!

补充

我带着今天踩过的坑,查了下更多ElasticSearch不适合做数据库的原因,发现其他人转载的这篇博客里提到:
1.mapping不可改,不能改index属性。
2.无法多对多。
3.没有用户验证和权限控制。
4.项目开始时不好确定shards数量。
5.ES非常适合特定的需求,但不适合用于数据存储。

经验教训

“在决定做一个需求的时候,一定要花时间想清楚”。不要觉得思考的时间是在浪费时间,花时间把一个需求理清楚,评估你的实现,这个时间绝对花的值得。如果某个需求真的思考也思考不出来,那一定要关注预测师的博客哦。

关键词:java,ES,mysql,程序人生,经验分享,初级,java程序员,程序,程序员,应该,知道,知道的,一个


相关标签/搜索

java培训java是什么javascriptjava面试题及答案2020javascript什么意思es文件浏览器es200雷克萨斯es300h雷克萨斯报价especiallyrequests库mysql安装教程mysql数据库mysql面试题mysql增删改查语句jdbc连接mysql数据库程序人生的博客程序人生 - 普通病毒 VS 冠状病毒程序人生官网程序人生微信公众号程序人生 雷军经验分享开场白和结束语经验分享ppt怎么做经验分享心得经验分享发言稿经验分享ppt思路2020年初级会计考试时间ienglish英语初级营初级会计考试打印准考证入口初级会计2020年考试时间初级会计考试时间java程序员工资一般多少钱java程序员学习路线java程序员是做什么的java程序员月薪是多少java程序员需要掌握的知识程序员入门程序员培训程序员是做什么的程序员编程培训程序员工资一般多少数据库入门应该学什么作为新时代的青年我们应该怎么做入门英语应该先学什么初学英语应该先从哪里开始?三个朋友群应该取什么名字知道的近义词知道对方手机号可以定位他的位置吗知道app定位是真的吗退出微信群别人知道吗不知道自己怀孕了吃了药怎么办只有神知道的世界知道的近义词是什么知道的英文知道的拼音是什么词学中兴发生在哪一个朝代在下只是一个浪子你可能已经忘记我这个过客了认识是一个辩证发展的过程这是一个什么的过程一个年轻人去鹤岗买了3万元房子一个手机号可以注册几个微信

程序人生周排行榜

    程序人生月排行榜