当前位置:首页 » 数据仓库 » 阿里巴巴开源数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

阿里巴巴开源数据库

发布时间: 2022-12-14 09:16:16

⑴ 阿里云rds数据库是自主研发的吗

一般rds习惯性指mysql数据库实例,但其实也包含sqlserver。这两种数据库一个是开源的,一个是微软的,都不算是阿里研发的数据库。
华为云 rds-gaussdb系列都是自主研发的。

⑵ 阿里出品otter-同步数据量6亿涉及200+个数据库实例之间的同步

otter已在阿里云推出商业化版本 数据传输服务DTS, 开通即用,免去部署维护的昂贵使用成本。DTS针对阿里云RDS、DRDS等产品进行了适配,解决了Binlog日志回收,主备切换、VPC网络切换等场景下的同步高可用问题。同时,针对RDS进行了针对性的性能优化。出于稳定性、性能及成本的考虑,强烈推荐阿里云用户使用DTS产品。DTS产品使用文档

阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。

otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otte4。

名称:otter ['ɒtə(r)]

译意: 水獭,数据搬运工

语言: 纯java开发

定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

原理描述:

1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击

2. 典型管理系统架构,manager(web管理)+node(工作节点)

a. manager运行时推送同步配置到node节点

b. node节点将同步状态反馈到manager上

3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.

⑶ 如何保证数据库缓存的最终一致性

对于互联网业务来说,传统的直接访问数据库方式,主要通过数据分片、一主多从等方式来扛住读写流量,但随着数据量的积累和流量的激增,仅依赖数据库来承接所有流量,不仅成本高、效率低、而且还伴随着稳定性降低的风险。

鉴于大部分业务通常是读多写少(读取频率远远高于更新频率),甚至存在读操作数量高出写操作多个数量级的情况。因此, 在架构设计中,常采用增加缓存层来提高系统的响应能力 ,提升数据读写性能、减少数据库访问压力,从而提升业务的稳定性和访问体验。

根据 CAP 原理,分布式系统在可用性、一致性和分区容错性上无法兼得,通常由于分区容错无法避免,所以一致性和可用性难以同时成立。对于缓存系统来说, 如何保证其数据一致性是一个在应用缓存的同时不得不解决的问题 。

需要明确的是,缓存系统的数据一致性通常包括持久化层和缓存层的一致性、以及多级缓存之间的一致性,这里我们仅讨论前者。持久化层和缓存层的一致性问题也通常被称为双写一致性问题,“双写”意为数据既在数据库中保存一份,也在缓存中保存一份。

对于一致性来说,包含强一致性和弱一致性 ,强一致性保证写入后立即可以读取,弱一致性则不保证立即可以读取写入后的值,而是尽可能的保证在经过一定时间后可以读取到,在弱一致性中应用最为广泛的模型则是最终一致性模型,即保证在一定时间之后写入和读取达到一致的状态。对于应用缓存的大部分场景来说,追求的则是最终一致性,少部分对数据一致性要求极高的场景则会追求强一致性。

为了达到最终一致性,针对不同的场景,业界逐步形成了下面这几种应用缓存的策略。


1

Cache-Aside


Cache-Aside 意为旁路缓存模式,是应用最为广泛的一种缓存策略。下面的图示展示了它的读写流程,来看看它是如何保证最终一致性的。在读请求中,首先请求缓存,若缓存命中(cache hit),则直接返回缓存中的数据;若缓存未命中(cache miss),则查询数据库并将查询结果更新至缓存,然后返回查询出的数据(demand-filled look-aside )。在写请求中,先更新数据库,再删除缓存(write-invalidate)。


1、为什么删除缓存,而不是更新缓存?

在 Cache-Aside 中,对于读请求的处理比较容易理解,但在写请求中,可能会有读者提出疑问,为什么要删除缓存,而不是更新缓存?站在符合直觉的角度来看,更新缓存是一个容易被理解的方案,但站在性能和安全的角度,更新缓存则可能会导致一些不好的后果。

首先是性能 ,当该缓存对应的结果需要消耗大量的计算过程才能得到时,比如需要访问多张数据库表并联合计算,那么在写操作中更新缓存的动作将会是一笔不小的开销。同时,当写操作较多时,可能也会存在刚更新的缓存还没有被读取到,又再次被更新的情况(这常被称为缓存扰动),显然,这样的更新是白白消耗机器性能的,会导致缓存利用率不高。

而等到读请求未命中缓存时再去更新,也符合懒加载的思路,需要时再进行计算。删除缓存的操作不仅是幂等的,可以在发生异常时重试,而且写-删除和读-更新在语义上更加对称。

其次是安全 ,在并发场景下,在写请求中更新缓存可能会引发数据的不一致问题。参考下面的图示,若存在两个来自不同线程的写请求,首先来自线程 1 的写请求更新了数据库(step 1),接着来自线程 2 的写请求再次更新了数据库(step 3),但由于网络延迟等原因,线程 1 可能会晚于线程 2 更新缓存(step 4 晚于 step 3),那么这样便会导致最终写入数据库的结果是来自线程 2 的新值,写入缓存的结果是来自线程 1 的旧值,即缓存落后于数据库,此时再有读请求命中缓存(step 5),读取到的便是旧值。


2、为什么先更新数据库,而不是先删除缓存?

另外,有读者也会对更新数据库和删除缓存的时序产生疑问,那么为什么不先删除缓存,再更新数据库呢?在单线程下,这种方案看似具有一定合理性,这种合理性体现在删除缓存成功。

但更新数据库失败的场景下,尽管缓存被删除了,下次读操作时,仍能将正确的数据写回缓存,相对于 Cache-Aside 中更新数据库成功,删除缓存失败的场景来说,先删除缓存的方案似乎更合理一些。那么,先删除缓存有什么问题呢?

问题仍然出现在并发场景下,首先来自线程 1 的写请求删除了缓存(step 1),接着来自线程 2 的读请求由于缓存的删除导致缓存未命中,根据 Cache-Aside 模式,线程 2 继而查询数据库(step 2),但由于写请求通常慢于读请求,线程 1 更新数据库的操作可能会晚于线程 2 查询数据库后更新缓存的操作(step 4 晚于 step 3),那么这样便会导致最终写入缓存的结果是来自线程 2 中查询到的旧值,而写入数据库的结果是来自线程 1 的新值,即缓存落后于数据库,此时再有读请求命中缓存( step 5 ),读取到的便是旧值。


另外,先删除缓存,由于缓存中数据缺失,加剧数据库的请求压力,可能会增大缓存穿透出现的概率。

3、如果选择先删除缓存,再更新数据库,那如何解决一致性问题呢?

为了避免“先删除缓存,再更新数据库”这一方案在读写并发时可能带来的缓存脏数据,业界又提出了延时双删的策略,即在更新数据库之后,延迟一段时间再次删除缓存,为了保证第二次删除缓存的时间点在读请求更新缓存之后,这个延迟时间的经验值通常应稍大于业务中读请求的耗时。

延迟的实现可以在代码中 sleep 或采用延迟队列。显而易见的是,无论这个值如何预估,都很难和读请求的完成时间点准确衔接,这也是延时双删被诟病的主要原因。


4、那么 Cache-Aside 存在数据不一致的可能吗?

在 Cache-Aside 中,也存在数据不一致的可能性。在下面的读写并发场景下,首先来自线程 1 的读请求在未命中缓存的情况下查询数据库(step 1),接着来自线程 2 的写请求更新数据库(step 2),但由于一些极端原因,线程 1 中读请求的更新缓存操作晚于线程 2 中写请求的删除缓存的操作(step 4 晚于 step 3),那么这样便会导致最终写入缓存中的是来自线程 1 的旧值,而写入数据库中的是来自线程 2 的新值,即缓存落后于数据库,此时再有读请求命中缓存(step 5),读取到的便是旧值。

这种场景的出现,不仅需要缓存失效且读写并发执行,而且还需要读请求查询数据库的执行早于写请求更新数据库,同时读请求的执行完成晚于写请求。足以见得,这种 不一致场景产生的条件非常严格,在实际的生产中出现的可能性较小 。


除此之外,在并发环境下,Cache-Aside 中也存在读请求命中缓存的时间点在写请求更新数据库之后,删除缓存之前,这样也会导致读请求查询到的缓存落后于数据库的情况。


虽然在下一次读请求中,缓存会被更新,但如果业务层面对这种情况的容忍度较低,那么可以采用加锁在写请求中保证“更新数据库&删除缓存”的串行执行为原子性操作(同理也可对读请求中缓存的更新加锁)。 加锁势必会导致吞吐量的下降,故采取加锁的方案应该对性能的损耗有所预期。


2

补偿机制


我们在上面提到了,在 Cache-Aside 中可能存在更新数据库成功,但删除缓存失败的场景,如果发生这种情况,那么便会导致缓存中的数据落后于数据库,产生数据的不一致的问题。

其实,不仅 Cache-Aside 存在这样的问题,在延时双删等策略中也存在这样的问题。针对可能出现的删除失败问题,目前业界主要有以下几种补偿机制。

1、删除重试机制

由于同步重试删除在性能上会影响吞吐量,所以常通过引入消息队列,将删除失败的缓存对应的 key 放入消息队列中,在对应的消费者中获取删除失败的 key ,异步重试删除。这种方法在实现上相对简单,但由于删除失败后的逻辑需要基于业务代码的 trigger 来触发 ,对业务代码具有一定入侵性。


鉴于上述方案对业务代码具有一定入侵性,所以需要一种更加优雅的解决方案,让缓存删除失败的补偿机制运行在背后,尽量少的耦合于业务代码。一个简单的思路是通过后台任务使用更新时间戳或者版本作为对比获取数据库的增量数据更新至缓存中,这种方式在小规模数据的场景可以起到一定作用,但其扩展性、稳定性都有所欠缺。

一个相对成熟的方案是基于 MySQL 数据库增量日志进行解析和消费,这里较为流行的是阿里巴巴开源的作为 MySQL binlog 增量获取和解析的组件 canal(类似的开源组件还有 Maxwell、Databus 等)。

canal sever 模拟 MySQL slave 的交互协议,伪装为 MySQL slave,向 MySQL master 发送 mp 协议,MySQL master 收到 mp 请求,开始推送 binary log 给 slave (即 canal sever ),canal sever 解析 binary log 对象(原始为 byte 流),可由 canal client 拉取进行消费,同时 canal server 也默认支持将变更记录投递到 MQ 系统中,主动推送给其他系统进行消费。

在 ack 机制的加持下,不管是推送还是拉取,都可以有效的保证数据按照预期被消费。当前版本的 canal 支持的 MQ 有 Kafka 或者 RocketMQ。另外, canal 依赖 ZooKeeper 作为分布式协调组件来实现 HA ,canal 的 HA 分为两个部分:


那么,针对缓存的删除操作便可以在 canal client 或 consumer 中编写相关业务代码来完成。这样,结合数据库日志增量解析消费的方案以及 Cache-Aside 模型,在读请求中未命中缓存时更新缓存(通常这里会涉及到复杂的业务逻辑),在写请求更新数据库后删除缓存,并基于日志增量解析来补偿数据库更新时可能的缓存删除失败问题,在绝大多数场景下,可以有效的保证缓存的最终一致性。

另外需要注意的是,还应该隔离事务与缓存,确保数据库入库后再进行缓存的删除操作。 比如考虑到数据库的主从架构,主从同步及读从写主的场景下,可能会造成读取到从库的旧数据后便更新了缓存,导致缓存落后于数据库的问题,这就要求对缓存的删除应该确保在数据库操作完成之后。所以,基于 binlog 增量日志进行数据同步的方案,可以通过选择解析从节点的 binlog,来避免主从同步下删除缓存过早的问题。

3、数据传输服务 DTS


3

Read-Through


Read-Through 意为读穿透模式,它的流程和 Cache-Aside 类似,不同点在于 Read-Through 中多了一个访问控制层,读请求只和该访问控制层进行交互,而背后缓存命中与否的逻辑则由访问控制层与数据源进行交互,业务层的实现会更加简洁,并且对于缓存层及持久化层交互的封装程度更高,更易于移植。


4

Write-Through


Write-Through 意为直写模式,对于 Write-Through 直写模式来说,它也增加了访问控制层来提供更高程度的封装。不同于 Cache-Aside 的是,Write-Through 直写模式在写请求更新数据库之后,并不会删除缓存,而是更新缓存。


这种方式的 优势在于读请求过程简单 ,不需要查询数据库更新缓存等操作。但其劣势也非常明显,除了上面我们提到的更新数据库再更新缓存的弊端之外,这种方案还会造成更新效率低,并且两个写操作任何一次写失败都会造成数据不一致。

如果要使用这种方案, 最好可以将这两个操作作为事务处理,可以同时失败或者同时成功,支持回滚,并且防止并发环境下的不一致 。另外,为了防止缓存扰动的频发,也可以给缓存增加 TTL 来缓解。

站在可行性的角度,不管是 Write-Through 模式还是 Cache-Aside 模式,理想状况下都可以通过分布式事务保证缓存层数据与持久化层数据的一致性,但在实际项目中,大多都对一致性的要求存在一些宽容度,所以在方案上往往有所折衷。

Write-Through 直写模式适合写操作较多,并且对一致性要求较高的场景,在应用 Write-Through 模式时,也需要通过一定的补偿机制来解决它的问题。首先,在并发环境下,我们前面提到了先更新数据库,再更新缓存会导致缓存和数据库的不一致,那么先更新缓存,再更新数据库呢?

这样的操作时序仍然会导致下面这样线程 1 先更新缓存,最后更新数据库的情况,即由于线程 1 和 线程 2 的执行不确定性导致数据库和缓存的不一致。这种由于线程竞争导致的缓存不一致,可以通过分布式锁解决,保证对缓存和数据库的操作仅能由同一个线程完成。对于没有拿到锁的线程,一是通过锁的 timeout 时间进行控制,二是将请求暂存在消息队列中顺序消费。


在下面这种并发执行场景下,来自线程 1 的写请求更新了数据库,接着来自线程 2 的读请求命中缓存,接着线程 1 才更新缓存,这样便会导致线程 2 读取到的缓存落后于数据库。同理,先更新缓存后更新数据库在写请求和读请求并发时,也会出现类似的问题。面对这种场景,我们也可以加锁解决。


另在,在 Write-Through 模式下,不管是先更新缓存还是先更新数据库,都存在更新缓存或者更新数据库失败的情况,上面提到的重试机制和补偿机制在这里也是奏效的。


5

Write-Behind


Write behind 意为异步回写模式,它也具有类似 Read-Through/Write-Through 的访问控制层,不同的是,Write behind 在处理写请求时,只更新缓存而不更新数据库,对于数据库的更新,则是通过批量异步更新的方式进行的,批量写入的时间点可以选在数据库负载较低的时间进行。

在 Write-Behind 模式下,写请求延迟较低,减轻了数据库的压力,具有较好的吞吐性。但数据库和缓存的一致性较弱,比如当更新的数据还未被写入数据库时,直接从数据库中查询数据是落后于缓存的。同时,缓存的负载较大,如果缓存宕机会导致数据丢失,所以需要做好缓存的高可用。显然,Write behind 模式下适合大量写操作的场景,常用于电商秒杀场景中库存的扣减。


6

Write-Around


如果一些非核心业务,对一致性的要求较弱,可以选择在 cache aside 读模式下增加一个缓存过期时间,在写请求中仅仅更新数据库,不做任何删除或更新缓存的操作,这样,缓存仅能通过过期时间失效。这种方案实现简单,但缓存中的数据和数据库数据一致性较差,往往会造成用户的体验较差,应慎重选择。


7

总结


在解决缓存一致性的过程中,有多种途径可以保证缓存的最终一致性,应该根据场景来设计合适的方案,读多写少的场景下,可以选择采用“Cache-Aside 结合消费数据库日志做补偿”的方案,写多的场景下,可以选择采用“Write-Through 结合分布式锁”的方案 ,写多的极端场景下,可以选择采用“Write-Behind”的方案。

⑷ 阿里有哪些硬核技术在世界上领先

认真的回答这个问题。没有。哈哈哈。会不会很失望。但是,事实就是如此。就给你说说吧

1.阿里云计算

这个首先说一下,阿里目前的云计算技术,排名世界第三。屈居谷歌和微软之后。不过,你对比一下就会知道有多牛逼了。亚马逊发展了在什么地方?微软成立了多少年。亚马逊成立于1995年,微软成立于1975年。阿里成立于1999年。而微软和亚马逊都是全球发展的公司。实力有目共睹,阿里这些年的赶超可是花的大力气。所以,这一点来说阿里的云计算还是很厉害的。

2.阿里的传感城市技术

这个技术实际是一个三维的数字化数据库的概念,这些年阿里通过高德,支付宝,以及阿里系的各个公司,获取到了大量的城市底层数据,现在基本可以利用这个技术,把这个城市进行重建,让一个城市更加宜居,环保,且可持续发展。实际也是可以通过海量数据为一个城市提供大脑虚拟计算,最后做出最优决策。也就是阿里所说的ET城市大脑。

对抗性神经网络

在ET城市大脑项目中,阿里巴巴达摩院的科学家使用对抗性神经网络训练ET城市大脑更好的识别客车、火车、卡车的车牌,将识别精准度提高了10%。此外,科学家还将对抗性神经网络用于双11中,完成了数亿张海报的设计。说句简单的,就是让机器能够拥有一定的思考力和更加快速的反应能力。

一个就是AI技术

强大的人工智能技术,就是让无数的数据荟聚到一个计算机大脑。让一个机器大脑能够拥有大量的知识储量,并且可以进行深度计算,最后会发展到各种程度,谁都不知道。

另外,就是或者还有阿里没有公布的技术。这就是我们不知道的了。或者他在憋着大招,没有放出来,咱谁都不知道。只能说,我相信以后阿里会成为一个合格的 科技 企业, 科技 实力会越来越强。也希望中国有越来越多这样的企业。这样才会让中国的企业在世界有更大的话语权。

谢邀~

从大背景来说,近些年,中国的硬核技术真正做到了起步晚、进步快,是"后来者居上"的典型。在越来越多的新兴行业里中国 科技 也早已占据着巨大的市场份额。而说到世界领先的硬核技术,阿里巴巴作为一家被电商光芒掩盖 科技 实力的互联网公司代表,很有一些东西能说道说道的。

当今爆炸式增长的数据量,使得未来 科技 竞争最重要的赛道当属云计算。而作为早早入局的阿里云已经率先突围,占据头部。据Gartner最新数据,如今亚马逊+微软+阿里占据了全球云计算市场72%的市场份额,而伴随着马太效应的持续演进,头部玩家的优势将会越来越大,未来预测云计算将会持续形成"3A"竞争的三分局面。

值得一提的是,依靠着在亚太地区的强势表现,阿里云去年还成功将亚马逊的王座地位向下拽了两个百分点,背靠着亚太这个全球最大的市场,阿里云的崛起势必还将有一番作为。

此外,诸如大疆的无人机,海康威视的监控、安保设备也都已经站在各自行业的顶端了,不得不说中国 科技 已经从过去的陪跑者变成了如今的竞争者甚至是领先者。

从当年的中华有为到如今的众帆竞航,中国 科技 的崛起想必会让世界重新认识这个沉睡的东方雄狮。

按惯例,各个击破。

先说硬核技术, 科技 领域的技术多不胜数,哪些技术才配称的上是"硬核技术"?个人认为,能决定未来的技术,才能算"硬核"。现在, 科技 届公认的能改变世界的几项技术:量子计算、云计算、芯片、底层操作系统等,都是全球顶尖 科技 公司在啃的"硬菜"。

再说世界领先,得说实绩,不能靠"吹"。我们自己说了不完全算,要世界纪录认可的。

具体来说下阿里。自从诞生了阿里云之后,阿里"云"化的速度越来越快,而"云"化的底气,来源于几个:云计算,底层操作系统,芯片,量子计算。

我们挑2个说说。

大家开玩笑喜欢说"遇事不决,量子力学",但认真说,量子计算,能量超乎想象。2018年3月,谷歌发布研制全球首个高质量72比特量子计算机的计划后,就提出要实现"量子霸权"计划。

业界听了都笑了

2018年5月,达摩院的量子电路模拟器"太章"就出来打脸了。太章,率先成功模拟了81比特40层作为基准的谷歌随机量子电路,成为世界最强的量子电路模拟器。

再说一个,云计算。

云计算领域,早年都是亚马逊、谷歌的天下。开始的时候,中国人自己都不信,中国能做出自己的云计算,比如某度的那个谁,某腾的那个谁,都说云计算是"异想天开"。结果呢?阿里愣是不信邪,花了十年,作为公有云计算江湖的后起之秀,阿里云以全球前三、亚太第一的市场份额赶超一众老牌云厂商。现在估值都超过770亿美元了。

之前,在最新的斯坦福大学DAWNBench深度学习榜单中,阿里云打破纪录,勇夺四项世界第一。不久后,在安全性能权威评比中,又勇夺"全球第二安全的云",让亚马逊目瞪口呆,这样够"硬核"吗?

说到硬核技术,必须要提的当然是芯片啊!

最近华为、中芯国际、光刻机频繁上热搜,芯片的事情闹得沸沸扬扬的,大家都知道了芯片的重要性!但我觉得阿里最硬核的技术,芯片必须排在首位。

阿里旗下有个公司叫平头哥,专门搞芯片的。它才成立两年,旗下第一款芯片—含光800在业界标准的resnet-50测试中,推理性能达到了78563IPS,能效500IPS/W,这两项能力都是全球第一,而且远超第二名数倍,着实给中国自研芯片争了口气!

不久前,含光800还宣布已经实现量产,我相信中国芯片自主的那一天不会太远的。

之前,斯坦福大学最新公布的DAWNBench深度学习榜单中,阿里巴巴旗下的阿里云在训练时间、训练成本、推理延迟以及推理成本拿下四项第一,打破了谷歌等企业垄断榜首的神话,这也意味着,阿里云可提供全球最快的AI计算服务。

这种理论的东西,可能大家没什么兴趣,我也一样。我个人最感兴趣的是:阿里通过AI技术,跟物联网IOT联系起来,为智能家居提供了更多的新可能。

之前,阿里云搞过一个给空巢老人的技术,真是暖心:借助阿云智能人居平台,为空巢老人量身打造了远程看护方案,不仅接入多种物联网设备,还专门定制开发了一个手机APP,所有家人都可以使用。借助物网传感器,家人可以时刻记录老人在家里的所有行为,对异样的行为进行预警。

其实,阿里的硬核技术,只是中国这些年 科技 崛起的一个缩影。作为中国 科技 公司的代表,阿里技术有今天的成就,也离不开大环境的进步和对 科技 基础设施的重视。

阿里巴巴作为中国最大的互联网公司。 在海量数据处理、高并发、云计算等方面积累了非常多的技术。程序员应该都非常清楚阿里的技术实力 着名开源项目Dubbo、RocketMq、Fastjson、Druid、Weex、等都是阿里开源的 。这些项目在全世界各种Java、前端等项目中都有使用。除去这些上层应用方面的技术之外,阿里还有哪些在国际上领先的技术呢?


深度学习技术DAWNBench

DAWNBench是深度学习技术的一个框架。用于端到端深度学习训练和推理的基准套件,它提供了一组常见的深度学习工作负载,用于在不同的优化策略、模型架构、软件框架、云和硬件上量化训练时间、训练成本、推理延迟和推理成本。此前这项技术一直是谷歌和亚马逊保持领先的记录。而在最新一轮的比赛中,阿里云团队在训练时间、训练成本、推理延迟以及推理成本四项中均取到了世界第一的名次。打破了谷歌多年的记录。




数据库OceanBase

在数据库领域,一直是甲骨文的Oracle在全球垄断。在阿里的OceanBase没有出现之前,世界上没有可以与Oracle可以抗衡的数据库。不管是企业级还是个人软件项目开发,我们都会第一选择使用Oracle(当然还有Mysql,Mysql也是甲骨文的数据库)。甲骨文公司几乎垄断了整个数据库领域。但是阿里巴巴每年的双十一对于数据库的吞吐能力提出了更高的挑战,阿里投入研发的OceanBase就是为了满足这种高吞吐场景需求的。经过国际TPC-C基准测试,OceanBase的TPS达到了100万(每秒处理事务数,可理解为订单数),比Oracle真正高了一倍。



云服务阿里云


阿里云大家应该不陌生。从全世界市场占有额来看,阿里云目前国内市场占有额第一,全球市场占有额第三。在全球市场占有额中,仅此于亚马逊和微软。而相比全球市场,亚太市场增长更快,云计算市场规模同比增长达50%。


在大众眼里,提起阿里巴巴就想起淘宝,天猫,支付宝。实际上阿里巴巴经过这些年的已然发展成为国际一流的技术公司, 在量子计算机,云计算,人工智能,芯片研发等硬核技术已经取得了世界领先的成就。

量子计算机技术

理论上,量子计算机可以模拟出整个宇宙,不仅仅是原理的模拟,而是整个宏观体系和微观细节的模拟。比如,宇宙中的尘埃——地球上,每个生物身上的每个细胞,都可以被模拟出来。 目前,世界范围内已有两家公司,在这方面已有突破性进展,那就是谷歌和阿里。目前,阿里云在超导量子计算方向,发布11比特的云接入超导量子计算服务。该服务已在量子计算云平台上线,有兴趣可以注册个账号体验下。

人工智能技术

斯坦福大学最新公布的DAWNBench深度学习榜单中, 阿里巴巴旗下的阿里云在训练时间、训练成本、推理延迟以及推理成本拿下四项第一,打破了谷歌等企业垄断榜首的神话,这也意味着,阿里云可提供全球最快的AI计算服务。 这些都属于人工智能最前沿,最顶尖的技术,阿里不仅立足当下,而且将眼光放眼未来,布局即将到来的人工智能时代。

阿里芯片技术

阿里的芯片技术已经名列世界前茅。 旗下第一款芯片—含光800在业界标准的resnet-50测试中,推理性能达到了78563IPS,能效500IPS/W,这两项能力都是全球第一,而且远超第二名数倍。 我们平时经常使用的淘宝“拍立淘”功能,使用含光800,搜索效率可以提升12倍,每天新增图片10亿张,之前的GPU完成搜索任务要1小时,现在只要5分钟。

结语

阿里这些硬核技术,只是本人了解到的,阿里技术团队一向做事低调如扫地僧。应该还有其他不为大众所知的硬核技术,只是本人不了解而已,你如果知道,请在评论区赐教,不胜感激!

谈到阿里的硬核技术,很多人第一印象肯定是想到了云计算,基于云端数据处理和存储技术,阿里在这方面的成就在世界范围内都是数一数二的,但这是老生常谈,我们暂且不说,今天来说说其他方面,阿里的表现同样强悍。

一、云操作系统

云操作系统指的就是阿里的飞天系统,是由阿里云自主研发、服务全球的超大规模通用计算操作系统,诞生于2009年,如今经过十年发展,早已今非昔比。飞天分布式系统,如今已经累计服务了200多个国家和地区,让许多大企业减小了对于硬件的依赖,减少了支出。2017年双11,飞天更是创下世界记录,实现了每秒32.5万笔交易峰值,每秒25.6万笔支付峰值。强悍如斯,让人震撼。

二、阿里物联网平台

阿里自研的物联网平台,同样让人惊艳。2014年,阿里云自主研发了一站式物联网使能台阿里云Link,之后,又相继推出物联网操作系统、物联网云平台、边缘计算引擎、一站式开发平台等。基于以上平台和系统,阿里在智能化、云端化、云计算展现出惊人优势,为我们日常的智能生活、智能城市、智能制造,提供了技术和平台支持,为经济发展提供了极大的便利。

三、AI芯片含光800

阿里巴巴达摩院研发的AI芯片“含光800”,同样让人震撼,这款芯片是阿里巴巴第一款自主研发的芯片,它被认为是全球最厉害的智能AI芯片,数据显示,含光800在芯片测试标准平台Resnet 50上的具体分数是性能78563 IPS,是第二名(15012)的5倍;能效比500 IPS/W,是第二名(150)3.3倍。这款芯片如今已经商用,并在全世界范围内接受了不少订单。

阿里其他方面的技术还有很多,譬如“神龙”服务框架、端操作系统等等,但阿里最厉害的还是我们经常说的云计算,基于这方面的投入也是最大,未来三年,阿里将投入2000亿,继续加大对于云计算的研发,相信在未来,我们的智能生活体验中,必定离不开阿里的身影。

如果说阿里云是世界领先的话,可能有些人感受并不深。那就简单说一下一个利用阿里云落地的身边应用——城市大脑。

发明云计算最大的作用,可能就是能在这个时代“磅礴浩瀚”的数据量面前处变不惊,这也使得一些以前不敢做甚至于不敢想的东西顺利落地。从城市大脑来讲,能将整个城市的方方面面映射到一个整体系统上,这是不是和你以前看过的科幻片高度重合起来?阿里云的诞生使得各类复杂的数据都能够得到迅速响应、快速计算和实时处理,这也就让我们等待红灯的时间灵活调整,出行时间大大缩减,停车难、排队难、看病难等城市病也都得到了有效解决,这也是为什么世界上很多城市跑来借鉴的原因所在吧!

看了一些回答,有些小寒心,难道技术非要等到打上西方封禁的标签才能够得到证明吗?不可否认每个时代都有独特的事物在独领风骚,而当前以及未来都应该与数字时代脱不开联系,这也就是为何云计算崛起后持续受到各个行业关注的原因。

当然,阿里云当年不顾一切搞自主研发,虽然耗费了大量的人力物力时间,但是如今回头来看无疑是幸运的,有了核心技术也就无需担心他人的掣肘,这也是如今阿里云世界领先的原因。而有了阿里云为支撑,例如城市大脑、数据库的OceanBase、平头哥的含光芯片都纷纷亮相。相比而言,甲骨文也已经撤出中国,亚马逊和微软也在一步步让出自己的市场份额。值得一提的是,阿里身后还有达摩院的一批顶尖科学家做支撑,因此可以想象在未来相当长的时间内,阿里的技术优势还是会不断保持。

互联网经济,也就是我们说的共享经济。其他技术也是依靠互联网的钱收购的。雷声很大的达摩院也没见到什么硬核成果。期待早点见到效果!

⑸ kettle有什么特点

引言

作为资深的DBA同胞你是否在工作中也存在这样的情况呢?公司要搭建数据平台,首要的工作就是把旧库的数据导入到新库中,虽然各种数据库都提供了导入导出的工具,但是数据需要存储到各个地方,MongoDB、HBase、MySQL、Oracle等各种各样的不同数据库,同步起来就有一些困难了。那么如何做好两个数据库之间、不同类型的数据库之间的相互迁移转换呢?

今天小编就常用的数据库同步、迁移转换工具进行一个汇总,以便大家在需要的时候,选择到合适的工具完成自己的工作~

一、SQLyog

SQLyog简介

SQLyog是业界着名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让你从世界的任何角落通过网络来维护远端的MySQL数据库。它也是小编工作一直使用的MySQL管理客户端工具哦。

SQLyog特点

方便快捷的数据库同步与数据库结构同步工具;
易用的数据库、数据表备份与还原功能;
支持导入与导出XML、HTML、CSV等多种格式的数据;
直接运行批量SQL脚本文件,速度极快;
新版本更是增加了强大的数据迁移
二、Navicat

Navicat简介

Navicat是一套快速、可靠并且价格相当便宜的数据库管理工具,Navicat提供多达 7 种语言供客户选择,被认为是最受欢迎的数据库前端用户界面工具。它可以用来对本地或远程的 MySQL、SQL Server、SQLite、Oracle 及 PostgreSQL 数据库进行管理及开发。

Navicat支持功能

数据模型
数据传输
数据同步
结构同步
导入、导出、备份、还原、报表创建工具及计划以协助管理数据
三、Ottor

Ottor简介

Otttor是由阿里巴巴开源的一个数据同步产品,它的最初的目的是为了解决跨国异地整个机房的架构为双A,两边均可写。开发时间长达7年,并持续到现在。目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了Otter。Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4.2.13已经支持mysql5.7以及阿里云提供的RDS数据库。小编已经在实际项目中使用。

Ottor特点

基于Canal开源产品,获取数据库增量日志数据。 (什么是Canal,详情查看https://github.com/alibaba/canal)。
典型管理系统架构,manager(web管理)+node(工作节点),manager运行时推送同步配置到node节点,node节点将同步状态反馈到manager上。
基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.(otter node依赖于zookeeper进行分布式调度,需要安装一个zookeeper节点或者集群)。
Ottor运行原理

db : 数据源以及需要同步到的库
Canal : 用户获取数据库增量日志,目前主要支持mysql
manager :配置同步规则设置数据源同步源等
zookeeper : 协调node进行协调工作
node : 负责任务处理处理接受到的部分同步工作
四、ESF Database Migration

ESF Database Migration简介

ESF Database Convert是一款强大的商业数据库转换工具。支持常见数据库之间相互转换,目前网上能找到“免费”版本,如有不同数据库相互转的需求,可以用此工具解决你的问题。

官方地址为:https://www.easyfrom.net/

ESF Database Migration特点

它支持Oracle, MySQL, SQL Server, PostgreSQL, Visual Foxpro, FireBird, InterBase, Access, Excel, Paradox, Lotus, dBase, Text...之间互相转换

五、DB2DB

DB2DB简介

DB2DB 是目前经过测试速度最快、最稳定实现多种数据库之间进行数据转换的工具。支持 SQL Server、MySQL、SQLite、Access 等多种数据库类型,通过该工具可以把原来的系统,方便快速地部署在不同的数据库甚至是云端数据库下。在大数据情况下(千万级别以上),处理速度比国内外同类软件要高出300%以上。并针对云端数据库中使用最多的 MySQL 数据库进行优化,使得从源数据库复制到新数据库时保留更多的数据表属性设置。这样大大减少程序员、DBA、实施人员将大型数据库进行迁移时的等待、测试和调试时间,减少公司为了测试某系统转换到新数据库系统时的人力成本。

官方地址:http://www.szmesoft.com/DB2DB

DB2DB支持功能

任意类型数据库间进行转换;
数据库表结构自动同步;
数据表索引自动同步;
数据表字段默认值自动同步;
支持对二进制字段数据的同步;
支持各种数据库中自增型字段的处理;
支持同步前对数据表进行检查,避免出现由于数据库自身限制的原因而导致同步失败的情况;
支持把同步内容导出为 SQL 文件的功能;
支持自定义选择需要同步的数据表;
支持将配置保存为方案,以方便日后重新使用;
针对不同的机器配置,可以选择单线程或多线程同步方式。
通过灵活的方式(可按月/周/天/小时/分钟)设定程序不限次定时执行同步动作。
六、 Kettle

Kettle简介

Kettle是一款国外开源的ETL工具,使用突破性的元数据驱动方法提供强大的提取,转换和加载(ETL)功能。在Windows、Linux、Unix上均可运行,数据抽取高效稳定。Kettle 中文名称叫水壶,它凭借图形化,拖放式设计环境以及可扩展、数据集成等特点,越来越成为组织的选择。

Kettle特点

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

七、SyncNavigator

SyncNavigator简介

号称国内做的最好的数据库同步软件,傻瓜式同步数据库,只需要你设置好来源数据库和目标数据库的账号和密码,一键开启,后台自动同步,断点续传,增量同步,几乎不占内存和CPU资源。并且还支持异构数据库,也可以同步部分表或者部分字段,都可以进行更为精准的设置操作。

syncnavigator特点

是一款专业的SQLSERVER,MySQL数据库同步软件,它为你提供一种简单智能的方式完成复杂的数据库数据同步,分发操作。

支持同构数据库同步,异构数据库同步,定时同步,增量同步,断点续传
完整支持Microsoft SQL Server 2000,2005,2008
支持Mysql4.1,5.0,5.4,5.5
支持大容量数据库快速同步。
八、DataX3.0

DataX3.0特点

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。

DataX3.0特点

DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

Reader:Reader 为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

支持的数据库:

经过几年积累,DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。DataX目前支持数据如下:

大家如有更好的工具推荐,欢迎在留言区补充~

⑹ 2019数据架构选型必读:1月数据库产品技术解析

本期目录

DB-Engines数据库排行榜

新闻快讯

一、RDBMS家族

二、NoSQL家族

三、NewSQL家族

四、时间序列

五、大数据生态圈

六、国产数据库概览

七、云数据库

八、推出dbaplus Newsletter的想法

九、感谢名单

为方便阅读、重点呈现,本期Newsletter(2019年1月)将对各个板块的内容进行精简。需要阅读全文的同学可点击文末 【阅读原文】 或登录https://pan..com/s/13BgipbaHeMfvm0YPtiYviA

进行下载。

DB-Engines数据库排行榜

以下取自2019年1月的数据,具体信息可以参考http://db-engines.com/en/ranking/,数据仅供参考。

DB-Engines排名的数据依据5个不同的因素:

新闻快讯

1、2018年9月24日,微软公布了SQL Server2019预览版,SQL Server 2019将结合Spark创建统一数据平台。

2、2018年10月5日,ElasticSearch在美国纽约证券交易所上市。

3、亚马逊放弃甲骨文数据库软件,导致最大仓库之一在黄金时段宕机。受此消息影响,亚马逊盘前股价小幅跳水,跌超2%。

4、2018年10月31日,Percona发布了Percona Server 8.0 RC版本,发布对MongoDB 4.0的支持,发布对XtraBackup测试第二个版本。

5、2018年10月31日,Gartner陆续发布了2018年的数据库系列报告,包括《数据库魔力象限》、《数据库核心能力》以及《数据库推荐报告》。

今年的总上榜数据库产品达到了5家,分别来自:阿里云,华为,巨杉数据库,腾讯云,星环 科技 。其中阿里云和巨杉数据库已经连续两年入选。

6、2018年11月初,Neo4j宣布完成E轮8000万美元融资。11月15日,Neo4j宣布企业版彻底闭源:

7、2019年1月8日,阿里巴巴以1.033亿美元(9000万欧元)的价格收购了Apache Flink商业公司DataArtisans。

8、2019年1月11日早间消息,亚马逊宣布推出云数据库软件,亚马逊和MongoDB将会直接竞争。

RDBMS家族

Oracle 发布18.3版本

2018年7月,Oracle Database 18.3通用版开始提供下载。我们可以将Oracle Database 18c视为采用之前发布模式的Oracle Database 12c第2版的第一个补丁集。未来,客户将不再需要等待多年才能用上最新版Oracle数据库,而是每年都可以期待新数据库特性和增强。Database 19c将于2019年Q1率先在Oracle cloud上发布云版本。

Oracle Database 18c及19c部分关键功能:

1、性能

2、多租户,大量功能增强及改进,大幅节省成本和提高敏捷性

3、高可用

4、数据仓库和大数据

MySQL发布8.0.13版本

1、账户管理

经过配置,修改密码时,必须带上原密码。在之前的版本,用户登录之后,就可以修改自己的密码。这种方式存在一定安全风险。比如用户登录上数据库后,中途离开一段时间,那么非法用户可能会修改密码。由参数password_require_current控制。

2、配置

Innodb表必须有主键。在用户没有指定主键时,系统会生成一个默认的主键。但是在主从复制的场景下,默认的主键,会对丛库应用速度带来致命的影响。如果设置sql_require_primary_key,那么数据库会强制用户在创建表、修改表时,加上主键。

3、字段默认值

BLOB、TEXT、GEOMETRY和JSON字段可以指定默认值了。

4、优化器

1)Skip Scan

非前缀索引也可以用了。

之前的版本,任何没有带上f1字段的查询,都没法使用索引。在新的版本中,它可以忽略前面的字段,让这个查询使用到索引。其实现原理就是把(f1 = 1 AND f2 > 40) 和(f1 = 2 AND f2 > 40)的查询结果合并。

2)函数索引

之前版本只能基于某个列或者多个列加索引,但是不允许在上面做计算,如今这个限制消除了。

5、SQL语法

GROUP BY ASC和GROUP BY DESC语法已经被废弃,要想达到类似的效果,请使用GROUP BY ORDER BY ASC和GROUP BY ORDER BY DESC。

6、功能变化

1)设置用户变量,请使用SET语句

如下类型语句将要被废弃SELECT @var, @var:=@var+1。

2)新增innodb_fsync_threshold

该变量是控制文件刷新到磁盘的速率,防止磁盘在短时间内饱和。

3)新增会话级临时表空间

在以往的版本中,当执行SQL时,产生的临时表都在全局表空间ibtmp1中,及时执行结束,临时表被释放,空间不会被回收。新版本中,会为session从临时表空间池中分配一个临时表空间,当连接断开时,临时表空间的磁盘空间被回收。

4)在线切换Group Replication的状态

5)新增了group_replication_member_expel_timeout

之前,如果某个节点被怀疑有问题,在5秒检测期结束之后,那么就直接被驱逐出这个集群。即使该节点恢复正常时,也不会再被加入集群。那么,瞬时的故障,会把某些节点驱逐出集群。

group_replication_member_expel_timeout让管理员能更好的依据自身的场景,做出最合适的配置(建议配置时间小于一个小时)。

MariaDB 10.3版本功能展示

1、MariaDB 10.3支持update多表ORDER BY and LIMIT

1)update连表更新,limit语句

update t1 join t2 on t1.id=t2.id set t1.name='hechunyang' limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

2)update连表更新,ORDER BY and LIMIT语句

update t1 join t2 on t1.id=t2.id set t1.name='HEchunyang' order by t1.id DESC limit 3;

MySQL 8.0直接报错

MariaDB 10.3更新成功

参考:

https://jira.mariadb.org/browse/MDEV-13911

2、MariaDB10.3增补AliSQL补丁——安全执行Online DDL

Online DDL从名字上看很容易误导新手,以为不论什么情况,修改表结构都不会锁表,理想很丰满,现实很骨感,注意这个坑!

有以下两种情况执行DDL操作会锁表的,Waiting for table metadata lock(元数据表锁):

针对第二种情况,MariaDB10.3增补AliSQL补丁-DDL FAST FAIL,让其DDL操作快速失败。

例:

如果线上有某个慢SQL对该表进行操作,可以使用WAIT n(以秒为单位设置等待)或NOWAIT在语句中显式设置锁等待超时,在这种情况下,如果无法获取锁,语句将立即失败。 WAIT 0相当于NOWAIT。

参考:

https://jira.mariadb.org/browse/MDEV-11388

3、MariaDB Window Functions窗口函数分组取TOP N记录

窗口函数在MariaDB10.2版本里实现,其简化了复杂SQL的撰写,提高了可读性。

参考:

https://mariadb.com/kb/en/library/window-functions-overview/

Percona Server发布8.0 GA版本

2018年12月21日,Percona发布了Percona Server 8.0 GA版本。

在支持MySQL8.0社区的基础版上,Percona Server for MySQL 8.0版本中带来了许多新功能:

1、安全性和合规性

2、性能和可扩展性

3、可观察性和可用性

Percona Server for MySQL 8.0中将要被废用功能:

Percona Server for MySQL 8.0中删除的功能:

RocksDB发布V5.17.2版本

2018年10月24日,RocksDB发布V5.17.2版本。

RocksDB是Facebook在LevelDB基础上用C++写的高效内嵌式K/V存储引擎。相比LevelDB,RocksDB提供了Column-Family,TTL,Transaction,Merge等方面的支持。目前MyRocks,TiKV等底层的存储都是基于RocksDB来构建。

PostgreSQL发布11版本

2018年10月18日,PostgreSQL 11发布。

1、PostgreSQL 11的重大增强

2、PostgreSQL 插件动态

1)分布式插件citus发布 8.1

citus是PostgreSQL的一款sharding插件,目前国内苏宁、铁总、探探有较大量使用案例。

https://github.com/citusdata/citus

2)地理信息插件postgis发布2.5.1

PostGIS是专业的时空数据库插件,在测绘、航天、气象、地震、国土资源、地图等时空专业领域应用广泛。同时在互联网行业也得到了对GIS有性能、功能深度要求的客户青睐,比如共享出行、外卖等客户。

http://postgis.net/

3)时序插件timescale发布1.1.1

timescale是PostgreSQL的一款时序数据库插件,在IoT行业中有非常好的应用。github star数目前有5000多,是一个非常火爆的插件。

https://github.com/timescale/timescaledb

4)流计算插件 pipelinedb 正式插件化

Pipelinedb是PostgreSQL的一款流计算插件,使用这个创建可以对高速写入的数据进行实时根据定义的聚合规则进行聚合(支持概率计算),实时根据定义的规则触发事件(支持事件处理函数的自定义)。可用于IoT,监控,FEED实时计算等场景。

https://github.com/pipelinedb/pipelinedb

3、PostgreSQL衍生开源产品动态

1)agensgraph发布 2.0.0版本

agensgraph是兼容PostgreSQL、opencypher的专业图数据库,适合图式关系的管理。

https://github.com/bitnine-oss/agensgraph

2)gpdb发布5.15

gpdb是兼容PostgreSQL的mpp数据库,适合OLAP场景。近两年,gpdb一直在追赶PostgreSQL的社区版本,预计很快会追上10的PostgreSQL,在TP方面的性能也会得到显着提升。

https://github.com/greenplum-db/gpdb

3)antdb发布3.2

antdb是以Postgres-XC为基础开发的一款PostgreSQL sharding数据库,亚信主导开发,开源,目前主要服务于亚信自有客户。

https://github.com/ADBSQL/AntDB

4)迁移工具MTK发布52版本

MTK是EDB提供的可以将Oracle、PostgreSQL、MySQL、MSSQL、Sybase数据库迁移到PostgreSQL, PPAS的产品,迁移速度可以达到100万行/s以上。

https://github.com/digoal/blog/blob/master/201812/20181226_01.md

DB2发布 11.1.4.4版本

DB2最新发布Mod Pack 4 and Fix Pack 4,包含以下几方面的改动及增强:

1、性能

2、高可用

3、管理视图

4、应用开发方面

5、联邦功能

6、pureScale

NoSQL家族

Redis发布5.0.3版本

MongoDB升级更新MongoDB Mobile和MongoDB Stitch

2018年11月21日,MongoDB升级更新MongoDB Mobile和MongoDB Stitch,助力开发人员提升工作效率。

MongoDB 公司日前发布了多项新产品功能,旨在更好地帮助开发人员在世界各地管理数据。通过利用存储在移动设备和后台数据库的数据之间的实时、自动的同步特性,MongoDB Mobile通用版本助力开发人员构建更快捷、反应更迅速的应用程序。此前,这只能通过在移动应用内部安装一个可供选择或限定功能的数据库来实现。

MongoDB Mobile在为客户提供随处运行的自由度方面更进了一步。用户在iOS和安卓终端设备上可拥有MongoDB所有功能,将网络边界扩展到其物联网资产范畴。应用系统还可以使用MongoDB Stitch的软件开发包访问移动客户端或后台数据,帮助开发人员通过他们希望的任意方式查询移动终端数据和物联网数据,包括本地读写、本地JSON存储、索引和聚合。通过Stitch移动同步功能(现可提供beta版),用户可以自动对保存在本地的数据以及后台数据库的数据进行同步。

本期新秀:Cassandra发布3.11.3版本

2018年8月11日,Cassandra发布正式版3.11.3。

Apache Cassandra是一款开源分布式NoSQL数据库系统,使用了基于Google BigTable的数据模型,与面向行(row)的传统关系型数据库或键值存储key-value数据库不同,Cassandra使用的是宽列存储模型(Wide Column Stores)。与BigTable和其模仿者HBase不同,数据并不存储在分布式文件系统如GFS或HDFS中,而是直接存于本地。

Cassandra的系统架构与Amazon DynamoDB类似,是基于一致性哈希的完全P2P架构,每行数据通过哈希来决定应该存在哪个或哪些节点中。集群没有master的概念,所有节点都是同样的角色,彻底避免了整个系统的单点问题导致的不稳定性,集群间的状态同步通过Gossip协议来进行P2P的通信。

3.11.3版本的一些bug fix和改进:

NewSQL家族

TiDB 发布2.1.2版本

2018 年 12 月 22 日,TiDB 发布 2.1.2 版,TiDB-Ansible 相应发布 2.1.2 版本。该版本在 2.1.1 版的基础上,对系统兼容性、稳定性做出了改进。

TiDB 是一款定位于在线事务处理/在线分析处理( HTAP: Hybrid Transactional/Analytical Processing)的融合型数据库产品。除了底层的 RocksDB 存储引擎之外,分布式SQL层、分布式KV存储引擎(TiKV)完全自主设计和研发。

TiDB 完全开源,兼容MySQL协议和语法,可以简单理解为一个可以无限水平扩展的MySQL,并且提供分布式事务、跨节点 JOIN、吞吐和存储容量水平扩展、故障自恢复、高可用等优异的特性;对业务没有任何侵入性,简化开发,利于维护和平滑迁移。

TiDB:

PD:

TiKV:

Tools:

1)TiDB-Lightning

2)TiDB-Binlog

EsgynDB发布R2.5版本

2018年12月22日,EsgynDB R2.5版本正式发布。

作为企业级产品,EsgynDB 2.5向前迈进了一大步,它拥有以下功能和改进:

CockroachDB发布2.1版本

2018年10月30日,CockroachDB正式发布2.1版本,其新增特性如下:

新增企业级特性:

新增SQL特性:

新增内核特性:

Admin UI增强:

时间序列

本期新秀:TimescaleDB发布1.0版本

10月底,TimescaleDB 1.0宣布正式推出,官方表示该版本已可用于生产环境,支持完整SQL和扩展。

TimescaleDB是基于PostgreSQL数据库开发的一款时序数据库,以插件化的形式打包提供,随着PostgreSQL的版本升级而升级,不会因为另立分支带来麻烦。

TimescaleDB架构:

数据自动按时间和空间分片(chunk)

更新亮点:

https://github.com/timescale/timescaledb/releases/tag/1.0.0

大数据生态圈

Hadoop发布2.9.2版本

2018年11月中旬,Hadoop在2.9分支上发布了新的2.9.2版本,该版本进行了204个大大小小的变更,主要变更如下:

Greenplum 发布5.15版本

Greenplum最新的5.15版本中发布了流式数据加载工具。

该版本中的Greenplum Streem Server组件已经集成了Kafka流式加载功能,并通过了Confluent官方的集成认证,其支持的主要功能如下:

国产数据库概览

K-DB发布数据库一体机版

2018年11月7日,K-DB发布了数据库一体机版。该版本更新情况如下:

OceanBase迁移服务发布1.0版本

1月4日,OceanBase 正式发布OMS迁移服务1.0版本。

以下内容包含 OceanBase 迁移服务的重要特性和功能:

SequoiaDB发布3.0.1新版本

1、架构

1)完整计算存储分离架构,兼容MySQL协议、语法

计算存储分离体系以松耦合的方式将计算与存储层分别部署,通过标准接口或插件对各个模块和组件进行无缝替换,在计算层与存储层均可实现自由的弹性伸缩。

SequoiaDB巨杉数据库“计算-存储分离”架构详细示意

用户可以根据自身业务特征选择面向交易的SQL解析器(例如MySQL或PGSQL)或面向统计分析的执行引擎(例如SparkSQL)。众所周知,使用不同的SQL优化与执行方式,数据库的访问性能可能会存在上千上万倍的差距。计算存储分离的核心思想便是在数据存储层面进行一体化存储,在计算层面则利用每种执行引擎的特点针对不同业务场景进行选择和优化,用户可以在存储层进行逻辑与物理的隔离,将面向高频交易的前端业务与面向高吞吐量的统计分析使用不同的硬件进行存储,确保在多类型数据访问时互不干扰,以真正达到生产环境可用的多租户与HTAP能力。

2、其他更新信息

1)接口变更:

2)主要特性:

云数据库

本期新秀:腾讯发布数据库CynosDB,开启公测

1、News

1)腾讯云数据库MySQL2018年重大更新:

2)腾讯云数据库MongoDB2018年重大更新:

3)腾讯云数据库Redis/CKV+2018年重大更新:

4)腾讯云数据库CTSDB2018年重大更新:

2、Redis 4.0集群版商业化上线

2018年10月,腾讯云数据库Redis 4.0集群版完成邀测、公测、商业化三个迭代,在广州、上海、北京正式全量商业化上线。

产品特性:

使用场景:

官网文档:

https://cloud.tencent.com/document/proct/239/18336

3、腾讯自研数据库CynosDB发布,开启公测

2018年11月22日,腾讯云召开新一代自研数据库CynosDB发布会,业界第一款全面兼容市面上两大最主流的开源数据库MySQL和PostgreSQL的高性能企业级分布式云数据库。

本期新秀:京东云DRDS发布1.0版本

12月24日,京东云分布式关系型数据库DRDS正式发布1.0版本。

DRDS是京东云精心自研的数据库中间件产品,获得了2018年 ”可信云技术创新奖”。DRDS可实现海量数据下的自动分库分表,具有高性能,分布式,弹性升级,兼容MySQL等优点,适用于高并发、大规模数据的在线交易, 历史 数据查询,自动数据分片等业务场景,历经多次618,双十一的考验,已经在京东集团内大规模使用。

京东云DRDS产品有以下主要特性

1)自动分库分表

通过简单的定义即可自动实现分库分表,将数据实际存放在多个MySQL实例的数据库中,但呈现给应用程序的依旧是一张表,对业务透明,应用程序几乎无需改动,实现了对数据库存储和处理能力的水平扩展。

2)分布式架构

基于分布式架构的集群方案,多个对等节点同时对外提供服务,不但可有效规避服务的单点故障,而且更加容易扩展。

3)超强性能

具有极高的处理能力,双节点即可支持数万QPS,满足用户超大规模处理能力的需求。

4)兼容MySQL

兼容绝大部分MySQL语法,包括MySQL语法、数据类型、索引、常用函数、排序、关联等DDL,DML语句,使用成本低。

参考链接:

https://www.jdcloud.com/cn/procts/drds

RadonDB发布1.0.3版本

2018年12月26日,MyNewSQL领域的RadonDB云数据库发布1.0.3版本。

推出dbaplus Newsletter的想法

dbaplus Newsletter旨在向广大技术爱好者提供数据库行业的最新技术发展趋势,为社区的技术发展提供一个统一的发声平台。为此,我们策划了RDBMS、NoSQL、NewSQL、时间序列、大数据生态圈、国产数据库、云数据库等几个版块。

我们不以商业宣传为目的,不接受任何商业广告宣传,严格审查信息源的可信度和准确性,力争为大家提供一个纯净的技术学习环境,欢迎大家监督指正。

至于Newsletter发布的周期,目前计划是每三个月左右会做一次跟进, 下期计划时间是2019年4月14日~4月25日, 如果有相关的信息提供请发送至邮箱:[email protected]

感谢名单

最后要感谢那些提供宝贵信息和建议的专家朋友,排名不分先后。

往期回顾:

↓↓别忘了点这里下载 2019年1月 完整版Newsletter 哦~

⑺ DataX框架的设计、运行原理详解

什么是DataX
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
方法/步骤
DataX的设计
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
框架设计
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
Reader:数据采集模块,负责采集数据源的数据,将数据发送给Framework。
Writer:数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
Framework:用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。
运行原理
① DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
②DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。
③切分多个Task之后,DataX Job会调用Scheler模块,根据配置的并发数据量,将拆分成的Task重新组合,组装成TaskGroup(任务组)。每一个TaskGroup负责以一定的并发运行完毕分配好的所有Task,默认单个任务组的并发数量为5。
④每一个Task都由TaskGroup负责启动,Task启动后,会固定启动Reader—>Channel—>Writer的线程来完成任务同步工作。
⑤DataX作业运行起来之后, Job监控并等待多个TaskGroup模块任务完成,等待所有TaskGroup任务完成后Job成功退出。否则,异常退出,进程退出值非0

⑻ 科技公司钟爱的50款开源工具

大数据
1. Hadoop

Apache主持的这个项目是最广为人知的大数据工具。众多公司为Hadoop提供相关产品或商业支持,包括亚马逊网络服务、Cloudera、Hortonworks、IBM、Pivotal、Syncsort和VMware。知名用户包括:阿里巴巴、美国在线、电子港湾、Facebook、谷歌、Hulu、领英、Spotify、推特和雅虎。

支持的操作系统:Windows、Linux和OS X

相关网站:http://hadoop.apache.org

2. Hypertable

Hypertable在互联网公司当中非常流行,它由谷歌开发,用来提高数据库的可扩展性。用户包括网络、电子港湾、Groupon和Yelp。它与Hadoop兼容,提供商业支持和培训。

支持的操作系统:Linux和OS X

相关网站:http://www.hypertable.com

3. Mesos

Apache Mesos是一种资源抽象工具,有了它,企业就可以鼗整个数据中心当成一个资源池,它在又在运行Hadoop、Spark及类似应用程序的公司当中很流行。使用它的企业组织包括:Airbnb、欧洲原子核研究组织(CERN)、思科、Coursera、Foursquare、Groupon、网飞(Netflix)、推特和优步。

支持的操作系统:Linux和OS X

相关网站:http://mesos.apache.org

4. Presto

Presto由Facebook开发,自称是“一款开源分布式SQL查询引擎,用于对大大小小(从GB级到PB级)的数据源运行交互式分析查询。”Facebook表示,它将Presto用于对300PB大小的数据仓库执行查询,其他用户包括Airbnb和Dropbox。

支持的操作系统:Linux

相关网站:https://prestodb.io

5. Solr

这种“快若闪电”的企业搜索平台声称高度可靠、扩展和容错。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、网飞、IBM、Adobe和SAP Hybris。

支持的操作系统:与操作系统无关

相关网站:http://lucene.apache.org/solr/

6. Spark

Apache Spark声称,“它在内存中运行程序的速度比Hadoop MapRece最多快100倍,在磁盘上快10倍。”Spark“支持”的企业组织包括:亚马逊、网络、Groupon、日立解决方案、IBM、MyFitnessPal、诺基亚和雅虎。

支持的操作系统:Windows、Linux和OS X

相关网站:http://spark.apache.org

7. Storm

正如Hadoop用来处理批量数据,Apache Storm用来处理实时数据。官方网站上显示用户包括:天气频道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard和Klout。

支持的操作系统:Linux

相关网站:https://storm.apache.org

云计算
8. Cloud Foundry

Cloud Foundry提供用于构建平台即服务的开源工具。它声称“由行业领袖为行业领袖构建”,其支持者包括IBM、 Pivotal、惠普企业、VMware、英特尔、SAP和EMC。

支持的操作系统:Linux

相关网站:https://www.cloudfoundry.org

9. CloudStack

这个交钥匙IaaS解决方案构成了许多公共云和私有云的基础。它的用户极多,包括阿尔卡特-朗讯、苹果、Autodesk、英国电信、冠群科技、思杰、Cloudera、戴尔、富士通、SAP和韦里逊。

支持的操作系统:与操作系统无关

相关网站:http://cloudstack.apache.org

10. OpenStack

这种很受欢迎的云计算平台声称,“世界上成百上千个大品牌”每天依赖它。支持者包括:AT&T、Ubuntu、惠普企业、IBM、英特尔、Rackspace、红帽、SUSE、思科、戴尔、EMC、赛门铁克及另外许多知名科技公司。

支持的操作系统:与操作系统无关

相关网站:http://www.openstack.org

11. Scalr

这种云管理平台备受市场研究公司的好评,它简化了管理多个云环境的过程。知名用户包括Expedia、三星、美国宇航局喷气推进实验室、埃森哲、索尼和Autodesk。

支持的操作系统:Linux

相关网站:http://www.scalr.com

容器
12. Docker

Docker在相对新兴的容器领域迅速确立起了主导平台这一地位。科技界的许多大牌公司在构建或提供扩展或使用Docker技术的产品,包括亚马逊、微软、IBM、惠普企业、红帽、Rackspace和Canonical。

支持的操作系统:Windows、Linux和OS X

相关网站:https://www.docker.com

输入标题 内容管理
13. DNN

这款内容管理解决方案之前名为DotNetNuke,承诺构建丰富的交互式网站时,只要花较少的精力,就能收到显着的成效。用户包括佳能、时代华纳有线电视、德州仪器和美国银行。

支持的操作系统:Windows

相关网站:http://www.dnnsoftware.com

14. Drupal

Drupal声称,98000多个开发人员在为这个极其流行的内容管理系统积极贡献代码。支持者包括微软、Zend、Fastly和New Relic,其内容市场有数百家公司参与其中,它们提供了相关的产品和服务。

支持的操作系统:与操作系统无关

相关网站:https://www.drupal.org

15. Joomla

Joomla为数百万个网站提供平台,其下载量超过了5000万人次。许多用户当中就有这些公司:电子港湾、巴诺书店、MTV和标致。

支持的操作系统:与操作系统无关

相关网站:https://www.joomla.org

16. MediaWiki

MediaWiki以维基网络使用的软件而出名,它还为网络、Vistaprint、Novell、英特尔和美国宇航局支持网站。它是构建可编辑网页的不错选择,许多企业组织用它来构建内部知识库。

支持的操作系统:Windows、Linux/Unix和OS X

相关网站:https://www.mediawiki.org/wiki/MediaWiki

数据库
17. Cassandra

这种NoSQL数据库由Facebook开发,其用户包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、网飞、Reddit及其他科技公司。它支持极其庞大的数据集,声称拥有非常高的性能和出色的耐用性和弹性。可通过第三方获得支持。

支持的操作系统:与操作系统无关

相关网站:http://cassandra.apache.org

18. CouchDB

CouchDB为Web而开发,这种NoSQL数据库将数据存储在JSON文档中,这类文档可通过HTTP来加以查询,并用JavaScript来处理。Cloudant现在归IBM所有,它提供一款专业人员支持的软件版本,用户包括:三星、Akamai、Expedia、微软游戏工作室及其他公司。

支持的操作系统:Windows、Linux、OS X和安卓

相关网站:http://couchdb.apache.org

19. MongoDB

MongoDB是一种NoSQL数据库,声称“针对关键任务型部署环境进行了优化”,用户包括Foursquare、《福布斯》、Pebble、Adobe、领英、eHarmony及其他公司。提供收费的专业版和企业版。

支持的操作系统:Windows、Linux、OS X和Solaris

相关网站:http://www.mongodb.org

20. MySQL

MySQL自称是“世界上最流行的开源数据库”,备受众多互联网公司的青睐,比如YouTube、贝宝、谷歌、Facebook、推特、电子港湾、领英、优步和亚马逊。除了免费社区版外,它还有多款收费版。最新更新版声称速度比老版本快三倍。

支持的操作系统:Windows、Linux、Unix和OS X

相关网站:http://www.mysql.com

21. Neo4j

Neo4J自诩为“世界上领先的图形数据库”,用于欺诈检测、推荐引擎、社交网站、主数据管理及更多领域。用户包括电子港湾、沃尔玛、思科、惠普、埃森哲、CrunchBase、eHarmony、Care.com及另外许多企业组织。

支持的操作系统:Windows和Linux

相关网站:http://neo4j.com

开发工具
22. Bugzilla

Bugzilla是开源社区的宠儿,用户包括Mozilla、Linux基金会、GNOME、KDE、Apache、LibreOffice、Open Office、Eclipse、红帽、Novell及其他公司。这款软件缺陷追踪系统(bugtracker)的重要功能包括:高级搜索功能、电子邮件通知、预定报告、时间追踪、出色的安全及更多特性。

支持的操作系统:Windows、Linux和OS X

相关网站:https://www.bugzilla.org

23. Eclipse

Eclipse项目最为知名的是,它是一种大受欢迎的面向Java的集成开发环境(IDE),它还提供面向C/C++和PHP的IDE,此外提供另外一大批开发工具。主要支持者包括冠群科技、谷歌、IBM、甲骨文、红帽和SAP。

支持的操作系统:与操作系统无关

相关网站:http://www.eclipse.org

24. Ember.js

这种框架用于“构建野心勃勃的Web应用程序”,旨在为JavaScript开发人员提高工作效率。官方网站上显示用户包括雅虎、Square、Livingsocial、Groupon、Twitch、TED、网飞、Heroku和微软。

支持的操作系统:与操作系统无关

相关网站: http://emberjs.com

25. Grunt

Grunt是一种JavaScript任务运行工具,有助于自动处理重复性的开发任务。使用它的知名科技公司包括:Adobe、推特、Mozilla、Cloudant和WordPress。

支持的操作系统:与操作系统无关

相关网站:http://gruntjs.com

26. LoopBack

这个Node.js框架旨在让用户很容易构建REST API,并连接到后端数据存储区。知名用户包括GoDaddy、美国能源部和赛门铁克。

支持的操作系统:Windows、Linux、OS X、安卓和iOS

相关网站:http://loopback.io

27. Node.js

Node.js的成名之处在于,它让开发人员可以使用JavaScript,编写服务器端应用程序。开发工作之前由Joyent管控,现在交由Node.js基金会监管。用户包括IBM、微软、雅虎、SAP、领英、贝宝和网飞。

支持的操作系统:Windows、Linux和OS X

相关网站:https://nodejs.org/en/

28. PhoneGap

Apache Cordova是一种开源框架,让开发人员可以使用HTML、CSS和JavaScript等Web技术,构建移动应用程序。PhoneGap是最受欢迎的Cordova发行版。使用某一种Cordova发行版的科技公司包括:维基网络、Facebook、 Salesforce、IBM、微软、Adobe和黑莓。

支持的操作系统:Window、Linux和OS X

相关网站:http://phonegap.com

29. React Native

React Native由Facebook开发,这种框架可用于使用JavaScript和React JavaScript库(同样由Facebook开发),构建原生移动应用程序。其他用户包括:《探索》频道和CBS体育新闻网。

支持的操作系统:OS X

相关网站:http://facebook.github.io/react-native/

30. Ruby on Rails

这个Web开发框架在开发人员当中极其流行,它声称“为确保编程员满意和持续高效地工作进行了优化”。用户包括Basecamp、推特、Shopify和GitHub等公司。

支持的操作系统:Windows、Linux和OS X

相关网站:http://rubyonrails.org

31. Sencha Touch

Sencha Touch自称是“一种用于构建通用移动应用程序的领先的跨平台移动Web应用程序框架,基于HTML5和JavaScript”。它既有开源许可证版本,也有商业许可证版本。据官方网站声称,《财富》100强中60%使用它。

支持的操作系统:与操作系统无关

相关网站:https://www.sencha.com/procts/touch/

32. ZK

索尼、Sun、IBM、Adobe、电子港湾、富士通、梦工厂和优利系统等公司使用这种Java Web框架来构建Web和移动应用程序。提供收费支付及相关工具。

支持的操作系统:与操作系统无关

相关网站:http://www.zkoss.org

中间件
33. JBoss

红帽的JBoss中间件包括各种轻量级、对云计算友好的工具,同时结合、集成和自动化各个企业应用程序和系统。用户包括:橡树岭国家实验室、日产、思科、冠群科技、AMD及其他公司。

支持的操作系统:Linux

相关网站:http://www.redhat.com/en/technologies/jboss-middleware

操作系统
34. 红帽企业版Linux

红帽最知名的产品就是其旗舰Linux发行版,这需要付费订购。据该公司声称,《财富》全球500强公司中超过90%在使用红帽产品。

相关网站:http://www.redhat.com/en/technologies/linux-platforms/enterprise-linux

35. SUSE Linux企业版

这款面向企业的Linux发行版同样备受大企业的追捧,它也需要付费订购。该公司声称,它有13000多个企业用户,包括伦敦证券交易所、SAP、天睿(Teradata)和沃尔格林连锁药店(Walgreens)。

相关网站:https://www.suse.com

36. Ubuntu

Ubuntu提供广受欢迎的Linux发行版,有多个版本:桌面版、服务器版、云版、手机版、平板电脑版和物联网版。声称用户包括亚马逊、IBM、维基网络和英伟达。

相关网站:http://www.ubuntu.com/index_kylin

项目管理
37. Project Libre

这个屡获奖项的项目是微软Project的替代者,下载量已有近200万人次。它有一大批用户,包括IBM、埃森哲、美国能源部、思科、ATI和AMD。

支持的操作系统:Windows、Linux和OS X

相关网站:http://www.projectlibre.org

存储
38. FreeNAS

这款开源网络附加存储(NAS)软件声称,它备受联合国、迪士尼互动媒体集团、路透社和Dr. Phil等用户的“喜爱”。它可以安装到几乎任何硬件上,而TrueNAS提供的预先构建的设备就基于该技术。

支持的操作系统:FressBSD

相关网站:http://www.freenas.org

39. Gluster

Gluster是一种可高度扩展的网络文件系统,适合云计算环境。红帽提供一款基于该技术的收费产品,用户包括卡西欧和Intuit。

支持的操作系统:Linux

相关网站:http://www.gluster.org

40. Lustre

Lustre是另一种可高度扩展的文件系统,旨在支持高性能计算(HPC)环境。一些最早采用它的用户包括美国的几大国家实验室:劳伦斯·利物莫尔国家实验室、桑迪亚国家实验室、橡树岭国家实验室和洛斯阿拉莫斯国家实验室。

支持的操作系统:Linux

相关网站:http://lustre.org

系统管理工具
41. Ansible

Ansible现在归红帽所有,它自称是“一种异常简单的IT自动化引擎,可以使云服务配置、配置管理、应用程序部署、服务内部的编排以及其他许多IT操作实现自动化。”使用它的科技公司包括:思科、瞻博网络、Evernote、推特、威瑞信、GoPro、EA Sports、Atlassian和韦里逊。它既有免费版,也有收费版。

支持的操作系统:Linux

相关网站:http://www.ansibleworks.com

42. Chef

作为另一款自动化工具,Chef支持开发运维方法,同时改善了速度、协作和安全性。拥有免费版和收费版。官方网站上显示用户包括:塔吉特(Target)、诺德斯特龙(Nordstrom)、Facebook、Etsy、IGM、雅虎和彭博社。

支持的操作系统:Windows、Linux和OS X

相关网站:https://www.chef.io/chef/

43. Hudson

Hudson在使用敏捷和开发运维方法的企业当中很流行,它是一种可扩展的持续集成服务器系统,可以监控重复作业的执行。这个项目得到了Eclipse基金会、甲骨文、Atlassian和YourKit的支持。

支持的操作系统:与操作系统无关

相关网站:http://hudson-ci.org

44. Puppet

Puppet号称“使用最广泛的开源IT管理系统”,它包括40多个基础设施管理方面的开源项目。除了开源版本外,它还有一款收费的企业版本。它声称,用户包括25000多家企业,比如迪士尼、沃尔玛、1-800-Flowers.com、Heartland Payment Systems、盖蒂图片社(Getty Images)和Yelp。

支持的操作系统:Windows、Linux、Unix和OS X

相关网站:https://puppetlabs.com/puppet/open-source-projects

版本控制
45. Bazaar

Bazaar由Canonical管理,被许多开源项目所使用,包括Ubuntu、 GNU基金会、Linux基金会、MySQL、Bugzilla、 Debian和Maria DB。它简单易学,支持任何工作流程和工作区间模式,承诺存储效率很高、速度很快。

支持的操作系统:Windows、Linux和OS X

相关网站:http://bazaar.canonical.com/en/

46. Git

这个版本控制系统已变得极受欢迎,这一方面归功于GitHub服务的使用日益广泛。使用它的公司和项目包括:谷歌、Facebook、微软、推特、领英、网飞、Perl、PostgreSQL、安卓、Rails、QT、Gnome和Eclipse。

支持的操作系统:Windows、Linux和OS X

相关网站:http://git-scm.com

47. Mercurial

Mercurial是一种分布式源代码控制管理工具,专注于帮助团队更轻松、更快速地协同工作。用户包括OpenJDK和NetBeans等各大项目。

支持的操作系统:Windows、Linux和OS X

相关网站:https://www.mercurial-scm.org

48. Subversion

这个企业级版本控制系统得到Apache的支持,首次发布于2000年。使用它的企业组织包括Apache软件基金会自己、Hobby Lobby、Mono、Plone和GNU Enterprise。

支持的操作系统:Windows、Linux和OS X

相关网站:http://subversion.apache.org

Web服务器
49. Apache HTTP Server

Apache至今已有20年多的历史,专利是自1996年以来互联网上最受欢迎的Web服务器系统。据W3Techs声称,目前所有网站中55.3%是由Apache支持的。

支持的操作系统:Windows、Linux和OS X

相关网站:http://httpd.apache.org

50. Nginx

Nginx的人气也极旺,它被互联网上所有网站中的大约四分之一所使用。除了俄罗斯许多访问量很大的网站外,用户还包括网飞和WordPress.com。

支持的操作系统:Windows、Linux和OS X

相关网站:http://nginx.org

⑼ 阿里数据库运用范围

阿里数据库运用范围:大数据计算服务(MaxCompute,原ODPS),Data IDE(原BASE),数据集成(原CDP云道),大数据基础服务包括 Maxcompute 分析型数据库等。

无需用户自己考虑高可用、备份恢复等问题,而且阿里针对开源的数据库做了部分优化。另外提供一些诸如监控、告警、备份、恢复、调优的手段。就是减轻用户在业务无关方面的花销,花小钱省下力气聚焦在自己的业务上。

阿里数据库特性:

实例创建快速选择好需要的套餐后,RDS控制台会根据选择的套餐优化配置参数,短短几分钟一个可以使用的数据库实例就创建好了。

支持只读实例RDS只读实例面向对数据库有大量读请求而非大量写请求的读写场景,通过为标准实例创建多个RDS只读实例,赋予标准实例弹性的读能力扩展,从而增加用户的吞吐量。

故障自动切换主库发生不可预知的故障(如:硬件故障)时,RDS将自动切换该实例下的主库实例,恢复时间一般<5min。

⑽ 阿里巴巴 用什么java框架

1、现在的大公司都是有很多积累的,他们都拥有适合自己的框架技术,这些全靠积累。所以阿里巴巴的主流Java框架是自己写的,同时结合了大量open source的资源。2、WEB层 —— 使用webx框架。主要利用velocity模板技术来展现页面。3、业务层 —— 主要使用command模式实现。WEB层通过command dispatcher的调用来使用业务逻辑。4、数据访问层 —— 使用DAO(Data Access Object)模式。底层使用iBatis来访问数据库。数据采用的是Oracle。数据库操作的SQL语句需要你手工书写相关的SQL代码(对于复杂的SQL语句需要通过DBA的评审)。5、开发工具,采用IDE和命令行相结合的模式。在命令行上,我们用antx工具来组织项目、build项目、发布项目。但我们多数时间会在eclipse集成环境上,开发、调试应用。6、版本控制,采用了Subversion。但部分项目因为历史的原因,暂时使用CVS,将来必然会迁移到Subversion上。Subversion有很多种操作方式:通过命令行、通过TortoiseSVN集成工具、通过WEB、通过Eclipse插件。总结:在所有层次上,他们都广泛使用了Spring framework。因此您需要对Spring有一定的了解才行。阿里面试时非常考验基础知识的,因为他们有自己的技术积累,框架技术已经趋于成熟,所以面试都是一些基础知识与算法知识。现在的阿里技术或许已经更加成熟,