面试复习

JAVA相关

数据库相关

MYSQL

  • MySQL存储引擎架构 MySQL存储引擎架构
  • 数据库索引
  • MySQL-并发控制
    1. 常见并发控制保证数据一致性的方法有锁,数据多版本;
    2. 普通锁串行,读写锁读读并行,数据多版本读写并行;
    3. redo日志保证已提交事务的ACID特性,设计思路是,通过顺序写替代随机写,提高并发;
    4. undo日志用来回滚未提交的事务,它存储在回滚段里;用于保障,未提交事务不会对数据库的ACID特性产生影响。
    5. InnoDB是基于MVCC的存储引擎,它利用了存储在回滚段里的undo日志,即数据的旧版本,提高并发;
    6. InnoDB之所以并发高,快照读不加锁;
    7. InnoDB所有普通select都是快照读;
  • 一文搞懂MySQL体系架构!!
  • mysql事务
  • 数据库事务
NoSQL 是键-值数据库、文档型数据库、列型数据库或图数据库的统称。数据库是非规范化的,表联结大多在应用程序代码中完成。大多数 NoSQL 无法实现真正符合 ACID 的事务,支持最终一致。

BASE 通常被用于描述 NoSQL 数据库的特性。相比 CAP 理论,BASE 强调可用性超过一致性。

- 基本可用 - 系统保证可用性。
- 软状态 - 即使没有输入,系统状态也可能随着时间变化。
- 最终一致性 - 经过一段时间之后,系统最终会变一致,因为系统在此期间没有收到任何输入。
除了在 SQL 还是 NoSQL 之间做选择,了解哪种类型的 NoSQL 数据库最适合你的用例也是非常有帮助的。我们将在下一节中快速了解下 键-值存储、文档型存储、列型存储和图存储数据库。
  • 键值数据库
    • redis
    • MemCached
  • 文档数据库
    • MongoDB
    • CouchDB
  • 列型存储
    • BigTable ==google
    • HBase
    • Cassandra == facebook
  • 图数据库
    • Neo4j
    • FlockDB

其他

分布式相关

系统设计

中间件

results matching ""

    No results matching ""