SQL、NoSQL 和现代数据实践
由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!
今天阅读的文章的TL;DR风格笔记。
SQL 还是 NoSQL,这是个问题!
- 答案取决于你的使用语境。
- 当您需要符合 ACID 标准(原子性、一致性、隔离性、持久性)时,请使用 SQL 数据库。
- 对于可以预先确定的与逻辑相关的离散数据需求,以及数据完整性至关重要的情况(例如,数据结构化且不变),请使用 SQL。
- 对于不确定、不相关且不断变化的数据需求;以及需要存储大量无结构数据的情况,请使用 NoSQL。
- 当您需要更快地启动项目、项目目标更简单或更宽松,并且速度和/或可扩展性至关重要时,请使用 NoSQL。
全文请点击此处阅读,阅读时间约8分钟。
SQL 已经有 43 年的历史了——以下是我们今天仍然使用它的 8 个原因。
- 它擅长访问和组织关系型数据库。
- RDBMS 和 SQL 经过实战检验,能够应对各种不同的场景,包括数据丢失、损坏和故障会造成灾难性后果的场景。
- SQL 易于学习,而且由于一半的开发人员都使用 SQL 和关系数据库管理系统 (RDBMS),因此技能很容易在公司和行业之间转移。
- 虽然并非完全互操作,但不同供应商的 SQL 语法差异很小。
- 将计算引入数据比将数据引入计算过程更有帮助。
- 对于大多数系统而言,SQL/RDBMS 是最佳选择,尤其是在数据完整性至关重要的情况下。
全文请点击此处阅读,阅读时间约8分钟。
现代数据实践与 SQL 传统
- 目前大多数关系数据库管理系统都提供一些无模式支持,允许您使用单个数据库来存储结构化和非结构化数据,而不会牺牲 ACID 合规性。
- ETL 对于大多数现代数据驱动型项目来说是必不可少的,但数据清洗和转换通常是分散的,这会扭曲数据。
- 将数据清洗工作下放到数据库层,以实现更流畅、更清晰的数据管道。重点在于完善数据类型定义。
- Postgres 甚至 SQLite 和其他关系型数据库管理系统 (RDBMS) 都提供了一些文本操作和自由文本搜索功能,足以满足大多数应用的需求。如果需要更复杂的功能,可以部署 NLTK 或 ElasticSearch,而不是一开始就使用它们。
- 与分布式系统相比,关系型数据库更具成本效益。当系统复杂性不断增加时,也更容易实现性能和稳定性。
全文请点击此处阅读,阅读时间约13分钟。
订阅我的新闻简报 in.snippets(),即可在每个工作日直接在您的收件箱中收到这些 TL;DR 风格的笔记。
文章来源:https://dev.to/mohanarpit/sql-nosql-and-modern-data-practices-2faa