1、服务端架构分层:网关层管网络,应用层管业务,存储层管数据
2、Mysql单表数据量超百万查询慢,超千万查不动了
3、高级需要你熟练地使用各种数据库
- 是多读写少,还是反过来
- 分布式扩展能力解决单机存储的瓶颈问题
4、关系型数据库搜索不行,高并发不行,表结构改变困难
非关系数据库可选的有很多种,kv型,搜索型,列式(未来有大规模增长量的场景),文档型,图型
几种数据库
1 Neo4j
是一种高性能的图形数据库管理系统,专门用于存储、管理和查询图数据。它基于图模型,使用节点(Node)和关系(Relationship)来表示数据之间的联系,提供了灵活的数据结构和强大的查询语言Cypher,使得开发者可以高效地处理复杂的关系型数据。
举个例子来说明Neo4j的应用场景:
假设我们要构建一个社交网络平台,其中包含用户和他们之间的关系。传统的关系型数据库可能需要多个表来存储用户信息、好友关系和关注关系等,而且在查询用户之间的关系时可能会面临性能问题。
然而,通过使用Neo4j,我们可以将每个用户表示为一个节点,节点之间的好友关系和关注关系表示为关系。这样一来,我们可以很方便地通过节点和关系来描述用户之间的各种关系,并且能够快速地查找用户之间的关系路径。
例如,我们可以轻松地找到某个用户的所有朋友、某个用户的朋友的朋友,或者寻找两个用户之间的最短路径。这些查询在Neo4j中可以通过简洁而有效的Cypher查询语句来实现。
总之,Neo4j是一种适用于处理复杂关系数据的图形数据库,可应用于社交网络、推荐系统、网络分析等领域,提供了高效的数据管理和查询能力。