游话好好说:关于副本,你喜欢一成不变的生活还是充满随机性

MongoDB广泛使用RAM来加速数据库操作在MongoDBΦ,所有数据都是通过数据的内存表示来读取和操作的WiredTiger存储引擎通过其内部缓存管理数据,但它也受益于保存在文件系统缓存中的页面MMAPv1使用内存映射的文件。从内存读取数据以纳秒为单位从磁盘读取数据以毫秒为单位;从内存读取数据比从磁盘读取数据快10万倍。

在正瑺操作期间访问的数据和索引集称为工作集最佳实践是在RAM中设置工作集。工作集可能代表整个数据库的一部分例如在与最近事件或流荇产品相关的数据最常被访问的应用程序中。

当MongoDB试图访问尚未加载到RAM中的数据时会发生页面错误。如果存在空闲内存那么操作系统可鉯在磁盘上定位页面,并将其直接加载到内存中但是,如果没有空闲内存操作系统必须将内存中的页写入磁盘,然后在应用程序需要時将请求的页读取到内存中这个过程可能很耗时,并且比访问已经驻留在内存中的数据要慢得多

一些操作可能无意中从内存中清除了夶部分工作集,这会对性能产生不利影响例如,扫描数据库中所有文档(其中数据库大于服务器上的可用RAM)的查询将导致文档被读入内存并且可能导致工作集的部分被写入磁盘。其他示例包括各种维护操作例如压缩或修复数据库,以及重建索引

如果您的数据库工作集大小超过系统的可用RAM,请考虑增加RAM容量或增加跨其他服务器对数据库的分片有关此主题的讨论,请参阅“分片最佳实践”一节在消耗系统资源之前实现分片要容易得多,因此容量规划是项目成功交付的重要因素

当使用默认WiredTiger存储引擎时,请参阅配置WiredTiger内部缓存大小的文檔

如果MongoDB是用MMAPV1存储引擎配置的,请参考提供如何调整RAM大小的指导的文档

MongoDB为.deb和.rpm包提供了用于一致性的***、升级、系统集成和配置的仓库。这个软件使用了与MongoDB下载页面提供的tarball包相同的二进制文件MongoDB Windows包可以通过通过其MSI***的可下载二进制文件获得。在tarball2中还提供了OS X的二进制文件

用户应该在mongod的配置文件中存储配置选项。这允许系统管理员跨整个集群实现一致的配置配置文件支持所有mongod命令行输入的所有选项。可鉯使用诸如Chef和Ppuppet之类的流行工具来提供MongoDB实例包含副本集和分片集群的复杂拓扑的提供可以由Ops Manager和Cloud Manager平台自动化,本指南稍后将讨论这些平台

鼡户应该尽可能频繁地升级软件,以便他们能够利用最新的特性以及任何稳定性更新或bug fies升级应该在非生产环境中进行测试,以验证正确嘚应用程序行为

客户可以在不引起任何停机的情况下部署滚动升级,因为副本集的每个成员都可以单独升级而不会影响数据库的可用性。副本集合的每个成员都可以在不同的MongoDB版本下运行并且使用不同的存储引擎运行。作为预防措施应该参考MongoDB release notes来确定是否需要遵循特定嘚升级步骤顺序,以及两个指定版本之间是否存在任何不兼容性升级可以通过Ops Manager和Cloud

用户应该评估如何最好地为其应用程序构建数据模型,洏不是简单地导入遗留系统的文件在传统的关系数据库环境中,数据往往使用例如CSV这样的 flat files来在不同系统间转移数据虽然可以从CSV字段将數据提取到MongoDB中,但实际上这只是数据迁移过程中的第一步MongoDB的文档数据模型通常提供以下不存在于关系数据模型中的优点和备选方案。

有許多选项可以将数据从flat files迁移到丰富的JSON文档中包括mongoimport、自定义脚本、ETL工具,以及从应用程序本身迁移数据应用程序本身可以从现有的RDBMS读取數据,然后将文档的JSON版本写回MongoDB

以下建议仅旨在为MongoDB部署的硬件提供高级指导。硬件的指定配置将取决于您的数据、查询、性能SLA、可用性要求以及底层硬件基础设施的能力MongoDB具有丰富的经验,帮助客户选择硬件和调整配置我们经常与客户一起计划和优化他们的MongoDB系统。健康检查、操作快速启动和生产准备咨询软件包在帮助您为项目选择合适的硬件方面尤其有价值

MongoDB是专门针对商用硬件设计的,几乎没有硬件要求或限制一般来说,MongoDB会利用更多的RAM和更快的CPU时钟速度

MongoDB使用RAM来充分提高性能。理想情况下工作集适合于RAM。一般来说,RAM越多越好当笁作负载开始访问不在RAM中的数据时,MongoDB的性能将会下降就像任何数据库一样。MMAPv1将RAM的管理委托给操作系统默认WiredTiger存储引擎通过允许用户配置汾配给WiredTiger内部高速缓存的RAM数量,提供了对内存的更多控制——默认为RAM的60%减去1GBWiredTiger还利用了操作系统的文件系统缓存,该缓存将持续增长以利用剩余可用的内存

MongoDB不需要共享存储(例如,存储区域网络)MongoDB可以使用本地附加存储以及固态驱动(SSD)。MongoDB中的大多数磁盘访问模式不具有順序属性因此,客户可以通过使用SSD来体验显著的性能提升用SATA SSD和PCIE测试表明了良好的结果和性能价格比。由于MongoDB的非顺序访问模式商品SATA spinning驱動与成本较高的spinning驱动相当:该预算可以更有效地投资于增加RAM或使用SSD,而不是花费更多在昂贵的spinning驱动上使用SSD的另一个好处是,如果工作集鈈再适合内存则闪存优于硬盘驱动器的性能优势。

虽然数据文件受益于SSD但MongoDB的日志文件由于具有高的顺序写入效率,非常适合于快速常規磁盘有关更多信息,请参阅本指南后面关于日志的部分

大多数MongoDB部署都应该使用RAID-1 0。RAID-5和RAID-6具有局限性可能不能提供足够的性能。RAID-0提供了良好的读写性能但是容错性不足。MongoDB的复制集允许部署为数据提供更强的可用性并且应该考虑RAID和其他因素以满足期望的可用性SLA。

如果使鼡Amazon EC2则在配置存储时,为了提供一致的存储性能使用Provisioned-IOPS选项选择所需的IOPS速率。

联网时在VM上运行时,对存储使用准虚拟化驱动程序

MongoDB本地支持使用默认WiredTiger存储引擎时的压缩。压缩减少了高达80%的存储占用并且实现了更高的存储I/O可伸缩性,因为从磁盘读取的更少与任何压缩算法一样,管理员以存储效率换取CPU开销因此在自己的环境中测试压缩的影响非常重要。

MongoDB为管理员提供了一系列文档、索引和日志的压缩选項默认的Snapy压缩算法在具有较低CPU开销的文档和日志压缩比(通常取决于数据,大约70%)之间提供了良好的平衡而可选的zlib库将实现较高的压縮,但是随着数据写入磁盘和从磁盘读取将导致额外的CPU周期。WiredTiger中的索引使用prefix压缩用于减少索引存储的内存占用,为频繁访问的文档释放更多的工作集管理员可以修改所有集合的默认压缩设置。还可以在集合创建期间根据每个集合指定压缩

MongoDB将在更快的CPU上提供更好的性能。MongoDB WiredTiger存储引擎比MMAPv1存储引擎更能够饱和多核处理器资源与WiredTiger相比,Encrypted Storage引擎平均增加了15%的开销因为一部分可用CPU用于加密/解密——实际的影响将取决于数据集和工作负载。

《光明勇士》是盛大游戏推出的艏款3D萌系自由冒险手游这款充满诚意的作品,自公测上线开始凭借Q萌可爱的画风,趣味休闲的活动和紧张刺激的战斗收获了许多玩镓的一致好评。随着圣诞节的来临《光明勇士》的新版本即将登场,除新玩法、新副本外一群实力与颜值并存的萌宠更是新版本中耀眼的“大咖”,下面就让我们一起来看看它们精美的原画吧

    圣诞老人是童话故事中的常客,而麋鹿则是他的坐骑铃铛小麋鹿喜欢自由洎在地奔跑,并且十分黏人就算是寒冷的冬日也阻挡不了它前进的步伐。

    圣诞雪花中诞生的小雪人可在圣诞商店和全新5人副本雪人伯爵盛会中获得,造型十分俏皮可爱尤其讨孩子们喜欢,红彤彤的鼻子是他最引以为傲的部位

    冰原豹居住在凛冬峭壁的冰牙荒原。别看咜们的外形娇小可爱但脾气可着实不小,并且拥有相当不俗的攻击力所以千万不要轻易挑逗它们哦~

    相信不少妹子和小编一样,看见这種粉粉圆圆的生物就会瞬间失去抵抗力吧~小兔砸是卢米娅大陆上一种十分常见的宠物,它们通常生活在黎明海滩外的草地不断地跳来跳去似乎就是它们唯一的爱好。


    为了部……咳咳咳抱歉走错片场了小兽人其实是兽人部落的孩子,它肩负着重振种族的使命通常在沃登高地的各个兽人部落出现。手里的骨锤是它强有力的武器要是不小心招惹到它,小心给你敲晕带回家哦

    害羞蘑一般出现在黎明海滩嘚蘑菇林,虽然数量不少但人们却极少见到它们的身影。一般来说它们都藏在蘑菇下如果在野外碰巧遇上雨天,萌主也可以在害羞菇嘚菌盖下躲雨哟~

    三毛是……呸呸呸冲鸭是来自于“异世界”的三次元宠物,全是金黄澄亮尤其喜欢东张西望,浑身上下都带有满满的え气尤其是它头上竖起的三根毛,简直忍不住想扯一把

    除以上的可爱萌宠外,新版本里还加入了探索元素更丰富的新地图挑战性更強的新副本,和更具圣诞特色的全新活动总之,《光明勇士》的全新版本一定会让你的这个冬天“缤纷绚丽”。

    《光明勇士》是盛大遊戏旗下起源工作室独立研发首款3D萌系超自由冒险手游。Q萌爆表的元气画风自由探索的冒险世界和多样百变的个性养成,unity引擎打造次時代CG级萌物世界只待你一指触发!

官方微博:@光明勇士手游


参考资料

 

随机推荐