MongoDB 2.8存储引擎FAQ
Source MongoDB 2.8存储引擎FAQ 2.8-rc0在光棍节的周二发布了,忙着血拼的童鞋们多半没有注意到哈。 2.8的最主要的新功能是支持两个存储引擎: MMAP 和 WiredTiger。其中WiredTiger 支持压缩和文档级锁, MMAP支持集合级锁。 其他更新请看http://docs.mongod
Source
MongoDB 2.8存储引擎FAQ
2.8-rc0在光棍节的周二发布了,忙着血拼的童鞋们多半没有注意到哈。 2.8的最主要的新功能是支持两个存储引擎: MMAP 和 WiredTiger。其中WiredTiger 支持压缩和文档级锁, MMAP支持集合级锁。 其他更新请看http://docs.mongodb.org/manual/release-notes/2.8/
以下是关于存储引擎的一些FAQ
存储引擎是什么东东?
存储引擎是数据库管理系统的一个重要组成部分。它的主要职责就是负责把数据存储到硬盘和把数据从硬盘检索出来。MySQL和Riak均支持多个不同的存储引擎。不同的存储引擎对不同的应用需求有特别的优化。如某个存储引擎可以是专为高并发写设计的,而另一个则是为高压缩率设计从而达到节省磁盘空间的目标。
MongoDB为什么要引入存储引擎API?
MongoDB 从最初版本一直到2.6都只支持一种基于内存映射技术的存储引擎,现在叫做MMAP v1。随着MongoDB的广泛普及,仅有一个存储引擎方案已经很难满足各种各样的场景需求,如压缩,高并发,文档级锁,内存数据库性能等等。引入API可以让MongoDB,技术合作伙伴,和MongoDB 用户根据性能,可用性,高效性,容量及扩展性等具体需求开发适合于这些场景的存储引擎,从而进一步增加MongoDB的适用性。
MongoDB2.8会支持什么样的存储引擎?
以下两个是2.8 支持的2个存储引擎
- MMAP v1 – 目前的基于内存映射的存储引擎。MMAP v1在2.8支持collection level locking,并在2.8内继续作为MongoDB的默认存储引擎。
- WiredTiger – 这是一个BerkerlyDB 架构师们开发的一个存储引擎。主要特点为高性能写入,支持压缩和文档级锁。
其他一些正在考虑支持的存储引擎(会在2.8之后的版本实现):
- RocksDB – Facebook 开发的优化写操作的一个存储引擎
- TokuFT – Tokutek开发。这个引擎也在 MySQL (TokuDB) 和TokuMX下使用
- InMemoryExperiment – MongodDB 开发的内存数据库,尚在试验中
- FusionIO – 跳过文件系统和OS直接访问FushionIO存储介质,提供高效读写
将来版本默认的存储引擎会是什么?
在2.8 MMAP v1 还仍会是默认的存储引擎。3.0以后WiredTiger很可能会成为默认存储引擎。
如何升级到新的存储引擎?
用户需要对既有的数据执行一个升级操作以使用新的WiredTiger存储引擎。详细的升级文档将随2.8一起发布。基本过程就是通过加一个新的采用新的存储引擎的复制集成员并让之完成initial sync,然后逐渐替换掉老的成员。2.8里对复制集的initial sync有不少性能改善,所以增加一个新成员会比之前速度会有较大提升。
如果我已购买了MongoDB的服务,这个对WiredTiger存储引擎有效么?
对的。没有影响。
WiredTiger存储引擎发现bug,应该找谁?
MongoDB
MongoDB对WiredTiger拥有什么样的授权?
MongoDB 从WiredTiger Data Engine 获得了对源代码的永久授权。
我可以在复制集混用不同的存储引擎吗?
可以的。用户可以在复制集里混用存储引擎。你需要注意一些额外事项,如Oplog的大小要根据各个存储引擎的特点而做不同的计划。另外,备份恢复可能会变得复杂一点因为备份数据可能是一个存储引擎的格式而在恢复的时候可能要求恢复到另一个存储引擎里去。
这个对MongoDB MMS有什么影响?
MMS 和即将发布的 OpsManager 会有以下功能增强:
- 创建或修改MongoDB实例时候可以选择使用哪一种存储引擎
- 创建或修改复制集的时候可以混用不同存储引擎
- 从2.6升级到2.8,然后切换存储引擎
使用新的存储引擎需要修改已有程序吗?
WiredTiger 和目前的MMAP v1 存储引擎是100%兼容的。用户不需要对程序做任何的修改便可直接使用。有一些状态监控的命令会有一些调整,这些在2.8里会有具体的文档说明。此外,由于WiredTiger会对写性能有极大的提升,以及文档锁的实现,以前的微分片,分库分表及其他的为提高MMAPv1并发率而实现的变通方案将不再需要。我们强烈建议在选择一个存储引擎的时候要把性能测试作为一个必不可少的步骤包含在选型过程中。
什么时候应该用 WiredTiger? MMAP v1?
一般来说,WiredTiger会对大部分应用场景提供更好的性能表现。在2.8中 MongoDB会支持复制集中存储引擎的混合部署,用户可以很容易地在两个存储引擎中切换。这样可以在测试过程中选择更加合适自己的方案。
WiredTiger压缩率有多少?
目前这个还没有最终确定。2.8 rc0里已经支持Snappy和Zlib压缩并默认开启Snappy压缩。
WiredTiger的并发能力比MMAP v1高多少?
这个取决于使用场景。我们会在2.8 发布时提供一些这方面的参考。
WiredTiger支持数据模式检验,ACID事务,国际语言支持和快照。这些在MongoDB里面都会支持吗?
不一定所有的都会支持。有一些功能如压缩会比较容易实现并已经在2.8 里实现(2.8 已经支持 zlib 和Snappy 压缩),而其他的一些功能则还没有完全和MongoDB整合起来。然而WiredTiger的这些既有功能将大大帮助MongoDB将来版本里面实现这些功能。
我还需要在一台机器上运行多个MongoDB实例来充分利用我的硬件资源么?
如果使用 MMAP v1, 微分片技术在适当的场景下还可以继续使用。对于WiredTiger用户不再需要微分片。因为文档级锁的引入,一个MongoDB实例就可以充分利用所有系统资源。
2.8 什么时候发布?
目前计划是2014年12月。
本文出自:http://nosqldb.org, 原文地址:http://duoyun.org/topic/54643dd5cfc89d5560f1df59, 感谢原作者分享。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Es wird empfohlen, die neueste Version von MongoDB (derzeit 5.0) zu verwenden, da diese die neuesten Funktionen und Verbesserungen bietet. Bei der Auswahl einer Version müssen Sie funktionale Anforderungen, Kompatibilität, Stabilität und Community-Unterstützung berücksichtigen. Die neueste Version verfügt beispielsweise über Funktionen wie Transaktions- und Aggregationspipeline-Optimierung. Stellen Sie sicher, dass die Version mit der Anwendung kompatibel ist. Wählen Sie für Produktionsumgebungen die Langzeit-Support-Version. Die neueste Version bietet eine aktivere Community-Unterstützung.

Diese Website berichtete am 7. März, dass Dr. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, kürzlich an der MWC2024-Konferenz teilgenommen und speziell die magnetoelektrische Speicherlösung OceanStorArctic der neuen Generation vorgestellt hat, die für warme Daten (WarmData) und kalte Daten (ColdData) entwickelt wurde. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, hat eine Reihe innovativer Lösungen veröffentlicht: Die dieser Website beigefügte offizielle Pressemitteilung von Huawei lautet wie folgt: Die Kosten dieser Lösung sind 20 % niedriger als die von Magnetbändern Der Stromverbrauch ist 90 % niedriger als der von Festplatten. Laut Foreign Technology Media BlocksandFiles gab ein Huawei-Sprecher auch Informationen über die magnetoelektrische Speicherlösung preis: Huaweis magnetoelektronische Disk (MED) sei eine bedeutende Innovation bei magnetischen Speichermedien. ME der ersten Generation

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Ich glaube, dass viele Freunde es gewohnt sind, SourceInsight zum Lesen und Analysieren von Quellcode unter Windows zu verwenden. Unter Linux gibt es zwar effizientere Tools, aber ich glaube, viele Leute hoffen, dies tun zu können Linux. SourceInsight kann verwendet werden. Der folgende Editor gibt Ihnen eine detaillierte Erklärung zur Verwendung von SourceInsight in Ubuntu! Lasst uns gemeinsam hingehen und es uns ansehen! Dies sind meine Systeminformationen: Linuxgavin-laptop2.6.32-40-generic#87-UbuntuSMPTueMar600:56:56UTC2012x86_64GNU/Li

Die Daten der MongoDB-Datenbank werden im angegebenen Datenverzeichnis gespeichert, das sich im lokalen Dateisystem, Netzwerkdateisystem oder Cloud-Speicher befinden kann. Der spezifische Speicherort ist wie folgt: Lokales Dateisystem: Der Standardpfad ist Linux/macOS: /data/db, Windows: C:\data\db. Netzwerkdateisystem: Der Pfad hängt vom Dateisystem ab. Cloud-Speicher: Der Pfad wird vom Cloud-Speicheranbieter bestimmt.

Die MongoDB-Datenbank ist für ihre Flexibilität, Skalierbarkeit und hohe Leistung bekannt. Zu seinen Vorteilen gehört: ein Dokumentdatenmodell, das eine flexible und unstrukturierte Speicherung von Daten ermöglicht. Horizontale Skalierbarkeit auf mehrere Server über Sharding. Abfrageflexibilität, Unterstützung komplexer Abfragen und Aggregationsvorgänge. Datenreplikation und Fehlertoleranz sorgen für Datenredundanz und hohe Verfügbarkeit. JSON-Unterstützung für einfache Integration mit Front-End-Anwendungen. Hohe Leistung für schnelle Reaktion auch bei der Verarbeitung großer Datenmengen. Open Source, anpassbar und kostenlos nutzbar.

Git ist ein schnelles, zuverlässiges und anpassungsfähiges verteiltes Versionskontrollsystem. Es ist für die Unterstützung verteilter, nichtlinearer Arbeitsabläufe konzipiert und eignet sich daher ideal für Softwareentwicklungsteams jeder Größe. Jedes Git-Arbeitsverzeichnis ist ein unabhängiges Repository mit einem vollständigen Verlauf aller Änderungen und der Möglichkeit, Versionen auch ohne Netzwerkzugriff oder einen zentralen Server zu verfolgen. GitHub ist ein in der Cloud gehostetes Git-Repository, das alle Funktionen der verteilten Revisionskontrolle bietet. GitHub ist ein Git-Repository, das in der Cloud gehostet wird. Im Gegensatz zu Git, einem CLI-Tool, verfügt GitHub über eine webbasierte grafische Benutzeroberfläche. Es wird zur Versionskontrolle verwendet, was die Zusammenarbeit mit anderen Entwicklern und die Verfolgung von Änderungen an Skripten und anderen umfasst

MongoDB ist ein dokumentenorientiertes, verteiltes Datenbanksystem zur Speicherung und Verwaltung großer Mengen strukturierter und unstrukturierter Daten. Zu den Kernkonzepten gehören die Speicherung und Verteilung von Dokumenten und zu den Hauptfunktionen gehören dynamische Schemata, Indizierung, Aggregation, Kartenreduzierung und Replikation. Es wird häufig in Content-Management-Systemen, E-Commerce-Plattformen, Social-Media-Websites, IoT-Anwendungen und der Entwicklung mobiler Anwendungen eingesetzt.
