关于MongoDB数据库:
MongoDB数据库存储方式是将文档存储在集合之中,而不是像Oracle、MySQL一样的关系型数据库。
MongoDB数据库是开源数据库,也提供具有附加功能的商业版本。
MongoDB中的数据是以键值对(key-value pairs)的形式显示的,数据库受到的约束更少。对于具有快速增长或其他变化需求的数据来说,使用MongoDB数据库是非常有利的。如下图所示,MongoDB数据库提供了预定义结构,用户可以按需采用MongoDB数据库预定义的结构。
MongoDB数据库包含了以“顺次存放”的方式填充的文档集合,这些文档本身包含了各种字段和信息类型,能够存储的内容和数据量是极其丰富的。
MongoDB数据库的安全特性:基于角色的访问控制、身份验证、授权和审核、安全传输层(TLS)和SSL协议等。
作为文档数据库,MongoDB数据库并不限制存储数据的体量和类型,因此适合大数据的应用环境,适合基于云的服务。得益于水平可扩展能力、与云服务的敏捷性结合,MongoDB数据库不但能够减少开发者的工作量,简化业务与项目的扩展流程,还能够提供高可用性和数据的快速恢复。不过,MongoDB在数据的可靠性、一致性、以及安全性等方面不如MySQL。
MongoDB数据库数据恢复案例
MongoDB数据库故障&初检:
某公司一台MongoDB数据库由于业务需要进行数据迁移,迁移后出现错误提示:“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
北亚数据恢复工程师检查了故障MongoDB数据库环境及底层数据,发现故障MongoDB数据库在迁移过程中丢失了_mdb_catalog.wt文件,所以启动数据库报错。
MongoDB数据库数据恢复过程:
1、恢复MongoDB数据库丢失的数据需要在底层数据中找到丢失的_mdb_catalog.wt文件,对底层数据进行多次扫描后发现该文件已经被覆盖。
2、数据恢复工程师调整数据恢复方法,由于故障MongoDB数据库是基于WiredTiger存储引擎的,数据恢复工程师在Windows环境下编译出可执行的wt工具。
3、借助编译后的wt工具对故障MongoDB数据库集合文件内所有数据清洗回写,读取数据结果并写入到文件中。
4、创建一个全新的MongoDB数据库,创建相应数据量的集合,将文件逐一写入集合中,查询数据集并重建索引信息。
5、通过查询集合中的记录,确定记录类型,重建集合索引,集合恢复完成,可以正常查看其中数据。
6、协助用户对全部集合进行索引重建之后,用户对数据库整体进行查询验证,发现数据无误,此次数据恢复完成。