Most databases offer a choice of several transaction isolation levels, offering a tradeoff between correctness and performance. However, that performance comes at a price, as developers must study their transactional interactions carefully or risk introducing subtle bugs. CockroachDB provides strong (“SERIALIZABLE”) isolation by default to ensure that your application always sees the data it expects. In this post I’ll explain what this means and how insufficient isolation impacts real-world applications.

大多数数据库提供多种事务隔离级别的选择,在正确性和性能之间进行权衡。 然而,这种性能是有代价的,因为开发人员必须仔细研究他们的事务交互,否则就有引入微妙错误的风险。 CockroachDB 默认提供强(“可串行化”)隔离,以确保您的应用程序始终看到它期望的数据。 在这篇文章中,我将解释这意味着什么以及隔离不足如何影响实际应用程序。

阅读全文 »

原文链接 https://www.cockroachlabs.com/blog/consistency-model/

A few days ago, prompted by a Hacker News post, my friend Ivo texted me saying “Does your head ever explode when you’re thinking about databases and consistency semantics and whatever models? It just sounds like pointless taxonomy stuff. We are <N, K>-serializable whereas QuinoaDB is only ü-serializable”. The answer is yes — my head does explode. I don’t think it’s pointless, though, although I agree that the discussions are generally unproductive.

几天前,在黑客新闻帖子的推动下,我的朋友 Ivo 给我发短信说:“当你思考数据库、一致性语义和任何模型时,你的头是否曾经爆炸过? 这听起来像是毫无意义的分类学东西。 我们是<N, K>-可序列化的,而QuinoaDB仅是ü-可序列化的”。 答案是肯定的——我的头确实爆炸了。 不过,我不认为这是毫无意义的,尽管我同意讨论通常没有成果。

阅读全文 »

15445 是 一门 数据库管理系统的设计与实现 的课程。

课程大纲:

  • Relational Databases
  • Storage
  • Execution
  • Concurrency Control
  • Recovery
  • Distributed Databases
  • Potpourri
阅读全文 »

概述

什么是编译器 ?他的作用是什么?他的输入输出是什么?

编译器是一个程序,他将源程序翻译成等价的目标程序,输入数据是类似 C语言的高级语言,输出是类似汇编语言或者机器语言的低级语言。

编译器与解释器有什么区别 ?

对编译器来说,编译和运行时两个阶段。解释器则不需要将这两阶段分开;

编译器和解释器的根本区别在于是否生产目标代码。编译器会生成目标代码,然后运行,而解释器分析后直接运行生成结果;

阅读全文 »

Volcano

An Extensible and Parallel Query Evaluation System

Volcano-一个可扩展的并行查询评估系统

Abstract-To investigate the interactions parallelism in database query processing, we have developed a new dataflow query execution system called Volcano. The Volcano effort provides a rich environment for research and education in database systems design, heuristics for query optimization, parallel query execution, and resource allocation.

摘要:为了研究数据库查询处理中可扩展性和并行性的相互作用,我们开发了一种新的数据流查询执行系统,称为 Volcano。 Volcano 的工作为数据库系统设计、查询优化启发式、并行查询执行和资源分配方面的研究和教育提供了丰富的环境。

阅读全文 »
0%