简介参考 TokuMXMongoDB 各自的官方站点。

     

## 
Tokutek 最重要的特点和 marketing word 是所谓 fractal tree indexing technology,相关链接:

1. 由于 per-node buffer 的引入所导致的 ACID 里的 Durability 问题应对方式(通过更合理的规划物理机器布局、增加单事务数据量等方式来分摊 fsync 开销;更「松弛」的持久化处理,即不要求每次 operation 都做持久化、而是「延迟容忍」的持久化机制)。
http://www.tokutek.com/2010/01/high-insertion-rates-into-a-tokudb-table-with-durable-transactions/

2. 微博上 fractal tree 相关的链接

## 
MongoDB 的一条融资新闻,觉得在 community 运作和开发模式(开源社区和公司运营相结合,所有的 issue 和 bug fix 都是可公开访问的,有很高的透明度)上,MongoDB 做的很棒。简单初步看了一下,记录在此,不一定准确和全面。

1. 数据建模的基本策略,embedded data & references 两种最基本的类型:前者直接在 document 里嵌入 sub-document 形成从属和绑定的关系,好处是能够以更少的读操作,从 collection 里获取数据,并且对原子写入支持更好(写操作的 atomicity 是建立在 document 基础上);后者通过 reference 引用其他 collection 里的 document,好处是能够降低 duplicate data fields(类似于用指针代替物理拷贝),对存储空间更友好,坏处则是对业务逻辑上的某个 record 做操作可能意味着对多个 documents 做操作。
基本介绍,如何建模 relationship between documents(有别于简单 key-value 数据库的地方),设计数据模型时必要的一些考量(such as lifecycle management, indexing, atomicity, horizontal scalability, and document growth)。

2. 同 SQL 常见术语和概念的对照表。如,行和列分别对应于 BSON documentfield,主键(primary key)术语一致但稍有不同(MongoDB 里制定了 BSON ObjectID _id 做为主键);值得注意的是,table join 的对应项是 embedded documents and linking,这挺有趣的,基于目前极其有限的了解,我的猜测是,MongoDB 尽管是 schema free No-SQL 数据库,但它可能对早期的 data modeling 提出了更高的要求。

3. FAQ 里对于「Do MongoDB databases have schemas?」的回答,最有价值的一点,可能就在于「simplifies and facilitates iterative software development with MongoDB」。

4. 关于 MongoDB 的典型应用场景是否支持事务的 FAQ。

MongoDB has a general-purpose design, making it appropriate for a large number of use cases. Examples include content management systems, mobile applications, gaming, e-commerce, analytics, archiving, and logging.
Do NOT use MongoDB for systems that require SQL, joins, and multi-object transactions.

5. 数据持久性方面的问题《Are writes written to disk immediately, or lazily?》。

Writes are physically written to the journal within 100 milliseconds, by default. At that point, the write is _durable_ in the sense that after a pull-plug-from-wall event, the data will still be recoverable after a hard restart.

Jounaling mechanism - http://docs.mongodb.org/manual/core/journaling/。注意 private view / shared view / data files 三者在不同操作下的 memory view 映射。

##
其他相关的链接:

1. 《main rules of efficient SQL》,其中也提到了 Oracle 数据库 table join 的三种机制如 hash join 等等。

2. 《What do Clustered and Non clustered index actually mean?

Regarding multiple indexes. You can have only one clustered index per table because this defines how the data is physically arranged. If you wish an analogy, imagine a big room with many tables in it. You can either put these tables to form several rows or pull them all together to form a big conference table, but not both ways at the same time. A table can have other indexes, they will then point to the entries in the clustered index which in its turn will finally say where to find the actual data.

3. 《How does database indexing work?》,以及一个相关的问题,数据库里的 cardinality 含义。

Also given the nature of a binary search, the cardinality or uniqueness of the data is important. Indexing on a field with a cardinality of 2 would split the data in half, whereas a cardinality of 1,000 would return approximately 1,000 records. With such a low cardinality the effectiveness is reduced to a linear sort, and the query optimizer will avoid using the index if the cardinality is less than 30% of the record number, effectively making the index a waste of space.

4. 《关于 MongoDB 你需要知道的几件事》《千万别用 MongoDB ?真的吗?》。

「2014-2-6」TokuMX and MongoDB related materials collection的更多相关文章

  1. 企业运营对 DevOps 的「傲慢与偏见」

    摘要:出于各种原因,并非所有人都信任 DevOps .有些人觉得 DevOps 只不过给开发者改善产品提供了一个途径而已,还有的人觉得 DevOps 是一堆悦耳的空头支票,甚至有人认为 DevOps ...

  2. [转帖]「知乎知识库」— 5G

    「知乎知识库」— 5G 甜草莓 https://zhuanlan.zhihu.com/p/55998832 ​ 通信 话题的优秀回答者 已关注 881 人赞同了该文章 谢 知识库 邀请~本文章是几个答 ...

  3. 「CSP-S模拟赛」2019第四场

    「CSP-S模拟赛」2019第四场 T1 「JOI 2014 Final」JOI 徽章 题目 考场思考(正解) T2 「JOI 2015 Final」分蛋糕 2 题目 考场思考(正解) T3 「CQO ...

  4. 面试都在问的「微服务」「RPC」「服务治理」「下一代微服务」一文带你彻底搞懂!

    ❝ 文章每周持续更新,各位的「三连」是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) ❞ 单体式应用程序 与微服务相对的另一个概念是传统的「单体式应用程 ...

  5. 我叫Mongo,收了「查询基础篇」,值得你拥有

    这是mongo第二篇「查询基础篇」,后续会连续更新6篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通过上一篇基础篇的介 ...

  6. 我叫Mongo,干了「查询终结篇」,值得您拥有

    这是mongo第三篇"查终结篇",后续会连续更新5篇 mongodb的文章总结上会有一系列的文章,顺序是先学会怎么用,在学会怎么用好,戒急戒躁,循序渐进,跟着我一起来探索交流. 通 ...

  7. 「编程羽录」上线,程序员必备的这些技能你能get到嘛?

    大家好,我是小羽. 好久不见,给大家带来个好消息,小羽的全新专题「编程羽录」系列正式上新,主要是介绍一些关于面试题和经验总结的文章. 会为大家提供一些技术栈之外,程序员还需要的其他方面硬核知识,做到全 ...

  8. 对于前端,「微信小程序」其实不美好

    微信小程序开放公测了,9月底我曾经写过一篇 「微信小程序」来了,其中最后一句:"谢天谢地,我居然还是个前端". 这种火爆的新事物总是令人激动,感谢这个时代. 但是,当我真作为开发者 ...

  9. macOS安装「oh my zsh」

    目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』, ...

随机推荐

  1. python 中 五种字典(dict)的遍历方法,实验法比较性能。

    1 .背景: 想知道5种遍历方法,并且知道从性能角度考虑,使用哪种. 2.结论: 使用这种方式: for key,val in AutoDict.iteritems(): temp = "% ...

  2. GLSL语言基础

    from http://www.kankanews.com/ICkengine/archives/120870.shtml 变量 GLSL的变量命名方式与C语言类似.变量的名称可以使用字母,数字以及下 ...

  3. 五、selecting with the API

    1. 命令通常从selection list中得到input, 调用MGlobal::getActiveSelectionList(MSelectionList &dest, bool ord ...

  4. problem

    有两个数组a,b,大小都为n,数组元素的值任意,无序: 要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小

  5. Android 实现多行文本跑马灯效果

    Android TextView 实现跑马灯的效果很简单,只要加三个属性就可以了. android:ellipsize="marquee" android:focusable=&q ...

  6. JS,Jquery获取各种屏幕的宽度和高度

    Javascript: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.b ...

  7. The first day!!!

    我的小院子开通啦,开始记录自己的学习历程,加油!!!

  8. 分享一个TP5实现Create()方法的心得

    在TP5中发现用不了以前3.X的Create()方法,虽然用input更严谨,但是字段比较多的话还是有些不艺术的3.X中的实现方法如下: $Model = D('User'); $Model-> ...

  9. Shared pool

    Shared pool 一.Shared pool的引入 当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程: 1.语法检查(syntax ch ...

  10. 主机名链接数据库,无法生成 SSPI 上下文

    两台Server,环境一样,都使用同一域账号. 1的SQL Server可以通过Windows认证连接到2,但2通过Windows认证连接1时报如下错误: 目标主体名称不正确,无法生成 SSPI 上下 ...