阅读 561

nosql非关系型数据库mongodb、redis、neo4j小结(个人学习记录)

本人大三在校学生,水平有限。

nosql是一种非关系型书库,是对关系型数据库的再灵活性和扩展性上的补充,主要解决大规模数据集合虚啊数据种类多样性的挑战。

期末关于nosql课程要写一个大作业,虽然要求不高,但是感觉随便写写没什么意思浪费时间,不如挑战一下自己,利用所学尝试写出自己的第一套系统,目前打算参考掘金的样子去在能力范围内写个简易的社区系统,架构如下,后期考虑再增添一个基于python实现的数据分析的后台。

架构图暂时不能放。请谅解

首先是,要了解三种数据库各自的特点,优势,应用场景

Mongodb

是一个基于分布式文件存储的数据库,是一种可扩展的敏捷Nosql数据库,是最受欢迎的Nosql数据库。

主要应用场景:

  • 网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。
  • 高伸缩性的场景。非常适合由数十或数百台服务器组成的数据库,它的路线图中已经包含对MapReduce引擎的内置支持。

计划将使用mongodb来存储用户发文操作的相关数据。

基础操作:python爬取并操作处理豆瓣电影数据(mongodb)

Redis

是一个key-value存储系统,value可为单个值,也可为列表list,集合set。

主要应用场景:缓存、队列系统、排行榜、计数器、实时反垃圾系统、自动处理系统。

在这里我们将使用redis来记录文章访问数等数据。

基础操作:python处理美团商家数据(redis)实例

Neo4j

元素有顶点、便、标签、关系类型、属性,可以看成一个高性能图引擎,总之就是快。

主要应用场景:社交网络、推荐引擎、交通运输系统、物流管理、主数据管理(避免僵化)、访问管理、欺诈检测。总之个人理解它就是有大量关系时的神。

这里打算用它来作为我目标系统负责好友关系的数据库。

基础操作:python操作neo4j处理药材数据实例

欢迎大神大佬指点一二。

系统做出来要是得到了老师的肯定后续将会复盘发出,请期待。

文章分类
后端
文章标签