原文:Azure Tips and Tricks 翻译:汪宇杰 在Cosmos DB中使用数据迁移工具 有一项重复的任务是将数据从一种数据库格式迁移到另一种数据库格式。...我最近使用Cosmos DB作为数据库来存储Ignite大会发出的所有推文。然而一旦获得了数据并且不再使用Cosmos DB进行该操作,我就需要将数据转储到本地文件中保存并节省开销。...工具 下载并安装 Azure DocumentDB Data Migration Tool https://aka.ms/csdmtool 开工 首先确保已创建要迁移的Cosmos DB数据库和集合。...在 Cosmos DB 管理页面中打开 Keys,并复制 Primary Connection String ? 将数据库名称附加到字符串的末尾。...最终看到 Import 在不到2分钟的时间内完成了超过10万数据的导入。 ? 现在,我们有了本地JSON文件可以随心所欲使用!碉堡了!
微软首先推出了DocumentDB这个产品,采用兼容MongoDB的API的方式来实现对MongoDB的支持。 这个产品后来升级成为Cosmos DB,支持除了MongoDB以外的其他一系列开源接口。...Cosmos DB是目前是卖的最好的一款产品。主要开发这个项目的人也成为了微软的tech fellow。这种兼容API但是不兼容实现的方式,让微软在北美市场赚足了钱。 于是亚马逊也忍不住了。...微软和亚马逊都采用了和MongoDB的API兼容的方式,但是在存储数据的大小,系统稳定性和扩展性,性能等一系列指标上都远比开源的MongoDB要强。...这样一来,以前在北美市场Cosmos DB和MongoDB双雄对局的局面就没有了。...另外稍微抱怨一下,微软的产品原来叫DocumentDB,是一个单词,改名之后Cosmos DB是两个单词,中间突然多了个空格。我不是故意打错,而是它就是这样命名的。
2017年,微软在 Cosmos 数据库(曾经被命名为“DocumentDB”)的基础上添加了MongoDB API 层,最近亚马逊又推出了DocumentDB,在其 Aurora 技术的基础上提供了...MongoDB Atlas全球集群自动将文档存储在靠近使用点的位置,确保文档读写最低延迟,并确保文档存储在指定地理位置,从而轻松助力GDPR法规遵从 DocumentDB 不具备 MongoDB API...在查询语言方面,25个聚合阶段中有18个阶段和80多个操作员(包括整个与日期相关的操作员集)缺失,因此 DocumentDB在处理分析工作负载时会出现问题 缺少join和图形操作符,因此,关系或图形模型免谈...在这个测试中, 我们发现,当我们试图在包含超过2亿个文档的数据集上运行DocumentDB时,DocumentDB在YCSB的加载阶段频繁崩溃。...在多个场景中,DocumentDB查询优化器直接忽略索引,使用集合扫描,从而导致异常低劣的性能: 我们用于获得这些结果的测试工具是公开可获取的。
典型产品 Amazon DynamoDB、Azure Cosmos DB、Riak。 内存键值数据库 不同于基于磁盘的数据库,这类数据库的数据主要保存在内存中。通过减少磁盘访问实现最小响应时间。...由于所有数据都存储在内存中,在进程或服务器出现故障时,内存数据库有丢失数据的风险。内存数据库可以通过在日志中记录每个操作或生成数据快照的方式将数据持久化到磁盘上。...文档数据库 文档数据的结构和键值数据库类似,只是键和值的形式是用标记语言(如 JSON、XML 或 YAML)编写的文档。 应用场景 用户资料、产品目录和内容管理。...典型产品 MongoDB、Amazon DocumentDB、CouchDB。 列式数据库 列式数据库基于表存储,但没有严格的列格式。...典型产品 Neo4j、Amazon Neptune、Azure Cosmos DB Gremlin。 时序数据库 这类数据库存储有时间顺序的流式数据。
关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 当今十大主流的关系型数据库 Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2...主流代表为Redis, Amazon DynamoDB, Memcached, Microsoft Azure Cosmos DB和Hazelcast 面向海量数据访问的面向文档数据库: 主要特点是在海量的数据中可以快速的查询数据...文档存储通常使用内部表示法,可以直接在应用程序中处理,主要是JSON。JSON文档也可以作为纯文本存储在键值存储或关系数据库系统中。...由于列名和记录键不是固定的,并且由于记录可能有数十亿列,因此可扩展性存储可以看作是二维键值存储。...分区容错性是指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。
吞吐量和存储的弹性可伸缩性(全球范围内) Cosmos DB 采用透明的水平分区和多主数据库复制设计,在全球范围内为读写操作提供了前所未有的弹性可伸缩性。...有关详细信息,请参阅 Cosmos DB 中的分区、容器和数据库上的预配吞吐量以及全局缩放预配的吞吐量。...精确定义的多个一致性选择 在 Cosmos DB 中构建全球分布式应用程序时,不再需要在一致性、可用性、延迟和吞吐量之间进行极端的权衡。...Cosmos DB 自动为所有数据编制索引,并可快速提供查询服务。 以上内容摘自Azure Cosmos文档 创建Cosmos DB资源 在portal控制面板找到Cosmos点击创建。...如果你有海量文档数据需要存储及查询,你可以把他存储在Azure Cosmos DB上,由Azure来为你提供低延时、高吞吐量以及高达99.999%的SLA服务,而你只需要挑选自己喜欢的方式来操作它完成自己的业务
数据库管理系统(DBMS)是一组软件,用于定义,存储,操作和控制数据库中的数据。当数据规模大到一定程度时,会有哪些挑战?...; 没有数据库之前,数据维护在一个平面文件(flat file)中,磁带介质决定其处理过程,包括程序接口文件(逻辑文件)和数据文件(物理文件),一个文件对应一个或多个程序,存在各种访问方法,如,顺序的,...2000年-2010年:(NoSQL && 数据仓库) 随互联网应用到来,数据呈现出大容量,多样性,流动性等特点,2009年初,Eric Evans在开源分布式数据库的讨论中提出NoSQL一词,用于指代那些非关系型的...Microsoft: 微软2014年发布Azure DocumentDB,支持对任意文档的SQL查询,无显式schema或辅助索引或视图,将JavaScript执行直接集成到数据库引擎中,提供四种不同的一致性级别...2017年5月,发布Azure Cosmos DB 是以全球分布和横向缩放为核心全新构建的,通过透明地缩放和复制数据,在任意数量的 Azure 区域提供统包全球分布。
最常见的两种模式是强制一致性(Strong consistency)与最终一致性(EventuallyConsistency),但Azure Cosmos DB额外提供了介于上述两者之间的 有边界一致性...会话一致性:保证客户端和服务器交互的会话过程中,读操作可以读到更新操作后的最新值。 单调一致性:如果一个进程已经读到一个值,那么后续不会读到更早的值。 最终一致性:是弱一致性的特例。...Cosmos DB在许多方面借鉴了DocumentDB,这不足为奇。其中一个方面就是拥有可调整的一致性模型(consistency model)。...比如说,对于Cosmos DB(以及之前的DocumentDB)而言,那意味着,你可以选择这种一致性模型:允许读取操作比写入操作只延后某一段时间(毫秒级),也可以选择这种一致性模型:专注于为某种特定的客户会话提供一致性...ACID另外三个概念分布是: 1.原子性(Atomic) 一个事务包含多个操作,这些操作要么全部执行,要么全都不执行。
VoltDB 明确以支持存储过程为指导思想,让存储过程更接近于数据,因此 VoltDB 支持执行序列化事务。为实现序列化事务处理,一个事务会被切分为一些原子事务,然后做序列化,并在队列中依次执行。...Cosmos DB 是一种分布于全球的 多模型数据库 服务。作为多模型服务,它的底层存储模型支持键值、列存储、文档和图数据库,并支持通过 SQL 和 NoSQL API 提供数据。...就全球分布而言,Cosmos DB 在位于全球的多个数据中心保存数据备份,确保了可靠性和高可用性。开发人员可以创建备份,并通过几个基本的 API 调用实现数据的横向扩展。...Cosmos DB 提供多个一致性层级,支持开发人员在确定所需的适用 SLA 上做出权衡。除了两种极端的强一致性情况和最终一致性之外,Cosmos DB 还一并提供了另外五个良好定义的一致性层级。...在 Citus 集群中,数据库表是分布式的。数据库表被水平分区到不同的工作节点上,在用户看来与常规数据库表并无二致。
在云时代,数据库选型直接关系到企业应用性能和成本效益。本文深入分析三大数据库类型,助您做出明智决策。...四大类型对比: 类型 数据模型 代表产品 适用场景 键值存储 Key-Value Redis, DynamoDB 会话缓存, 配置管理 文档数据库 JSON/BSON MongoDB, CouchDB...商业版较高) 低(多开源) 中 硬件成本 高(垂直扩展) 低(水平扩展) 中 运维成本 中 低到高(取决于类型) 高(技术复杂度高) 开发成本 低(SQL普及) 中(学习新API) 中 扩展成本 指数增长...附录:主流云数据库服务对比 云厂商 关系型服务 NoSQL服务 NewSQL服务 AWS RDS, Aurora DynamoDB, DocumentDB Aurora Global DB Azure...SQL Database Cosmos DB Azure Arc Google Cloud SQL Firestore, Bigtable Cloud Spanner 阿里云 RDS, PolarDB
典型代表包括:MySQL:开源首选,适用于Web应用Oracle:企业级解决方案,TPC-C性能标杆SQL Server:Windows生态深度集成DB2:海量数据处理专家1.2 四大主流产品对比维度OracleSQL...[NoSQL数据库分类图谱](此处可插入可视化分类图:键值型、文档型、列存储、图形数据库)2.1.1 键值数据库Redis:内存数据结构存储,支持持久化LevelDB:Google高性能嵌入式存储适用场景...:写优化型分布式存储HBase:Hadoop生态系统组件数据特征:时序数据存储(物联网设备日志)2.2 性能基准测试在AWS c5.4xlarge实例测试中:Redis集群实现每秒120万次读写MongoDB...分片集群达到每秒35万文档插入Cassandra三节点集群处理80万TPS三、新型数据库的突破性创新3.1 图形数据库Neo4j:Cypher查询语言应用领域:社交关系分析(六度空间理论验证)3.2 时间序列数据库...InfluxDB:毫秒级时间戳精度TimescaleDB:基于PostgreSQL扩展行业案例:股票高频交易系统(每秒处理20万数据点)3.3 混合型数据库Azure Cosmos DB:多模型API支持
Microsoft Azure Cosmos DB Cosmos DB是微软2010年立项,经过7年研发,于2017年5月正式发布的云数据库服务,该数据库服务支持图数据、列存储、键值存储和文档数据库等多种数据模型...正如InfoWorld的SerdarYegulalp所写的:“在拥有Cosmos DB的情况下,微软在同一个数据库中提供了多重持久化模型,因此模型的选择可以是工作负载的功能而不是产品的功能”。...Cosmos DB 的优势: 全球部部署 多数据模型+API 提供了五种数据一致性(参考这里) 弹性存储拓展 … Amazon Neptune 2017年11月底,亚马逊在 AWS 2017全球峰会发布了全新的图数据库产品...可以 JSON 格式导入、导出文档。 HugeGraph HugeGraph 是一款面向分析型,支持批量操作的图数据库系统,它能够与大数据平台无缝集成,有效解决海量图数据的存储、查询和关联分析需求。...HugeGraph采用RocksDB存储引擎时插入amazon0601数据集的300万条边耗时为5.711秒,平均每秒可完成50万条边插入。
5.2 数据导入-从MaxCompute导入到ADS库 在 DMS For AnalyticDB 控制台,选择菜单栏中的导入导出 > 导入。 ...5.4 数据导入-通过DTS从RDS实时同步到ADS库以及通过第三方工具同步数据到ADS库 这两部分用到时参考官方文档,这里不做说明。...如果每天有300万新增数据,则建议按月划分二级分区。 在ADS中,维度表的逻辑存储则比较简单,采用复制的方式存储在每个节点上。...在ADS中,一级分区的选择依据如下(按优先级从高到低排): (1)如果是多个事实表(不包括维度表) JOIN,则选择参与 JOIN 的列作为分区列。...如果表记录数特别大,从存储空间和 INSERT 性能考虑,一定要减少主键的字段数。 最主要的还是要从业务角度确保生成的主键在该表能代表唯一值。
; MongoDB使用分片来支持具有非常大的数据集和高吞吐量操作的部署; 具有大数据集或高吞吐量应用程序的数据库系统可能会挑战单个服务器的容量; 例如,高查询率可能会耗尽服务器的CPU容量; 大于系统RAM...分片键必须有索引 分片键大小限制512bytes 分片键用于路由查询 Mongo不接受已进行collection级分片的collection上插入无分片键的文档(也不支持空值插入) 配置分片集群 机器规划...db.collections.find().pretty() # 查看分片的片键 # 删除分片节点(谨慎) sh.getBalancerState() 确认blance是否在工作 db.runCommand...mongoimport Mongodb中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。...().pretty() oplog应用 实现热备,在备份时使用--oplog选项,--oplog 会记录备份过程中的数据变化,会以oplog.bson保存下来 mongodump --port 28017
, 虽然单台计算机的整体速度或容量可能不高,但是每台计算机只能处理全部工作量的一部分,因此与单台高速大容量服务器相比, 可能会提供更高的效率, 扩展部署的容量仅需要根据需要添加其他服务器, 这可以比单台机器的高端硬件降低总体成本...分片键是不可变 分片键必须有索引 分片键大小限制512bytes 分片键用于路由查询 Mongo不接受已进行collection级分片的collection上插入无分片键的文档(也不支持空值插入...db.collections.find().pretty() # 查看分片的片键 # 删除分片节点(谨慎) sh.getBalancerState() 确认blance是否在工作 db.runCommand...mongoimport Mongodb中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。...().pretty() oplog应用 实现热备,在备份时使用--oplog选项,--oplog 会记录备份过程中的数据变化,会以oplog.bson保存下来 mongodump --port 28017
文档数据库:如 MongoDB、Amazon DocumentDB 等。MongoDB 在中国区的接受度很高,很适合直接存储 JSON 数据,因此,游戏、直播等行业会天然地倾向采用它。...DynamoDB 使用主键来表示表中的项目。分区键用来构建一个非排序的散列索引,使得表可以进行分区,从而满足扩展性的需求。...全局二级索引可以选择与表不同的分区键以及排序键,且每个索引分区会对应所有的表分区。 GSI 和 LSI 该如何选择呢?对于 GSI 来说,索引尺寸没有上限,读写容量和表是独立的,只支持最终的一致性。...而对于 LSI 来说,索引保存在表的分区中,每个分区键值的存储上限是 10GB,使用的是表上的 RCU 和 WCU。...使用 DynamoDB 除了需要指定主键、分区键和排序键外,用户只需确定访问次数,系统会根据访问次数预置容量。
[1.png] 二、MongoDB 优缺点 优点 文档结构的存储方式,能够更便捷的获取数据 内置GridFS,支持大容量的存储 海量数据下,性能优越 动态查询 全索引支持,扩展到内部对象和内嵌数组 查询记录分析...但是空间没有被浪费 三、优缺点详细解释 1.内置GridFS,支持大容量的存储: GridFS是一个出色的分布式文件系统,可以支持海量的数据存储。...MongoDB 插入文档 MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下: db.COLLECTION_NAME.insert(document) 以下文档可以存储在...3.2 版本后还有以下几种语法可用于插入文档: db.collection.insertOne():向指定集合中插入一条文档数据。...db.collection.insertMany():向指定集合中插入多条文档数据。
垂直扩展:增加更多的CPU和存储资源来扩展容量。 水平扩展:将数据集分布在多个服务器上。水平扩展即分片。 2.1.2 分片设计思想 分片为应对高吞吐量与大数据量提供了方法。...使用分片减少了每个分片需要处理的请求数,因此,通过水平扩展,集群可以提高自己的存储容量和吞吐量。举例来说,当插入一条数据时,应用只需要访问存储这条数据的分片. ...在使用片键做范围划分的系统中,拥有”相近”片键的文档很可能存储在同一个数据块中,因此也会存储在同一个分片中。...2.3.3 基于哈希的分片 分片过程中利用哈希索引作为分片的单个键,且哈希分片的片键只能使用一个字段,而基于哈希片键最大的好处就是保证数据在各个节点分布基本均匀。 ? ...在使用基于哈希分片的系统中,拥有”相近”片键的文档很可能不会存储在同一个数据块中,因此数据的分离性更好一些。
在本文中,我将详细介绍无服务器。让我们开始故事。...我们可以在没有服务器的情况下部署网络应用程序吗?...完全托管的 NoSQL 文档和键值数据库,具有自动扩展功能。 具有高度可扩展性,可自定义容量模式。 可在任何规模下提供个位数毫秒级的性能。 通过 AWS IAM 和 AWS KMS 保证高度安全性。...Azure Cosmos DB This is a Microsoft product for the Azure cloud....超额配置意味着您为某种服务器容量支付了费用,但您并没有使用这种容量。看起来你期望的流量是 100 万用户,但你得到的却是 1K 用户。