首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

谈谈自己的大数据迁移经历背景问题规模数据迁移要考虑的问题最后

今天群里有人问起,刚好做过相关的工作,特此分享一下当时的工作内容和感受。 背景 大概说一下这个事情的背景。在2013年大概4月份,人人网打算做一次大规模的数据迁移——评论服务。所谓评论就是指各种资源下的“评论文字”,比如照片的评论、Blog的评论、分享的评论、音乐的评论…… 早期人人网的各个开发小组各自为政,每个团队几乎都实现了一个评论服务,有各自不同的功能和数据结构,但是大体上还算相似。当时,业务部门希望能够集中这些数据做一些统一的管理,比如权限管理(控制谁能看什么评论)、比如数据内容推荐(基于用户评论人

013

Riak - 背景篇(1)

典型的现代关系数据库在某些类型的应用程序中表现平平,难以满足如今的互联网应用程序的性能和可扩展性要求。因此,需要采用不同的方法。在过去几年中,一种新的数据存储类型变得非常流行,通常称为 NoSQL,因为它可以直接解决关系数据库的一些缺陷。Riak 就是这类数据存储类型中的一种。 Riak 并不是惟一的一种 NoSQL 数据存储。另外两种较流行的数据存储是 MongoDB 和 Cassandra。尽管在许多方面十分相似,但是它们之间也存在明显的不同。例如,Riak 是一种分布式系统,而 MongoDB 是一种单独的系统数据库,也就是说,Riak 没有主节点的概念,因此在处理故障方面有更好的弹性。尽管 Cassandra 同样是基于 Amazon 的 Dynamo 描述,但是它在组织数据方面摒弃了向量时钟和相容散列等特性。Riak 的数据模型更加灵活。在 Riak 中,在第一次访问 bucket 时会动态创建这些 bucket;Cassandra 的数据模型是在 XML 文件中定义的,因此在修改它们过后需要重启整个集群。 Riak 是用 Erlang 编写的。而 MongoDB 和 Cassandra 是用通用语言(分别为 C++和 Java)编写,因此 Erlang 从一开始就支持分布式、容错应用程序,所以更加适用于开发 NoSQL 数据存储等应用程序,这些应用程序与使用 Erlang 编写的应用程序有一些共同的特征。 Riak支持Map/Reduce 作业,但是Map/Reduce 作业只能使用 Erlang 或 JavaScript 编写。

03

面试题107:如果需要分库分表,数据是如何做迁移的?

当我们在初创公司或者公司的一个新的业务线的初期,通常来说不会采用分库分表的,但是随着业务发展,就会有需要分库分表的情况产生。那么针对于之前单库表中的数据我们如何迁移到新的分库分表上呢?我们最先想到的方案应该就是发公告停机停服的数据迁移。 停机停服数据迁移 比如我们已经准备好某一天要进行数据迁移了,那么我会们在当天发布公告,比如通告一下用户,凌晨12点到早上6点系统升级,服务暂不可用。那么到了凌晨12点,所有服务停机,并观察数据库中是否还有数据写入变更删除等操作,如果发现现在数据库中的数据已经静止了,那么一部

04
领券