FamilySearch选择了基于Apache Cassandra的DataStax Enterprise (DSE)来加速用户增长,并通过更快的反应时间、高可用性以及零数据库宕机来提供强大的线上用户体验。
 
自从采用了DSE,FamilySearch可以专注于构建和提高他们的应用程序,从而致力于联结不同代际的家庭成员的使命。

“在家族树(Family Tree)这个App火了之后,我们收到了来自顾客的巨大反响。不过,为了提供出色的客户体验,我们需要一个伸缩性更好的数据库来防止宕机的发生,并且这个数据库应该还能够让我们向我们的用户提供更多的特性和功能。”
——FamilySearch软件开发经理Michael Nelson
 
 
一分钟案例速读
 
行业
系谱学
 
机会
  • 难以负荷超过50万用户每小时产生的超过6000万次的事务
  • 未来三年网站使用量将有10-100倍的增长
解决方案
  • 基于Apache Cassandra的DataStax Enterprise
成果
  • 用户可以享受到更快的反应速度、高可用性以及零数据库宕机
  • 高峰使用期每小时例行处理1.25亿笔交易
  • 能够将像是资料提示(Record Hints)一类的新功能推向市场

 
01 关于FamilySearch
 
FamilySearch是世界上最大的系谱学组织。通过利用强大且用户友好的在线搜索功能访问历史资料,FamilySearch帮助人们揭示与自己及家族有关的新发现。
 
数百万人使用FamilySearch的资料、资源和服务来更多地了解自己的家族史。为了帮助人们实现这些,100多年来,FamilySearch及其前身一直在全球范围内积极收集并保存和共享家谱资料。
 
通过FamilySearch的网站和分布在129个国家的4,921个家族史中心(包括位于美国犹他州盐湖城的主家族史博物馆),顾客们可以免费获取FamilySearch的服务和资源。

 
02 家族树(Family Tree)使得揭示新发现变得前所未有的容易
 
家族树这个App让用户能够与他人合作编辑和删除错误的数据,从而为有共同祖先的其他人保留新的发现。家族树提供了直观而丰富的客户体验,包括了能让用户更容易地发现并将其他人的资料联结到自己的家族树中的功能。
 
FamilySearch还积极地代用户们寻找相关的资料,帮助他们揭示新的发现。这些相关的资料会通过一个叫资料提示(Record Hints)的功能展示给用户。
 
仰赖于FamilySearch在全球范围内为资料保存所做的努力,每周都会有海量的历史资料添加到网站上。当用户在这些资料中搜寻的时候,资料提示功能的提示会为用户提供更多的信息。

 
03 日益流行的App驱动了用户的大幅增长
 
家族树这个App非常之流行,超过50万用户产生了大量的需求。在过去一年间,FamilySearch因他们之前的数据库技术而感到纠结,因为该技术难以负荷他们的用户对于使用体验的预期。
 
随着家族树App越来越流行,FamilySearch意识到他们之前已经在成本效率允许的情况下尽可能地垂直扩展了他们的数据库,但是他们仍然最多只能负荷家族树App每小时产生6000万次事务——这一技术瓶颈阻碍了未来的用户增长。

 
04 DataStax Enterprise助力用户增长和出色的用户体验
 
FamilySearch预计在未来的三年中,网站使用量将会有10-100倍的增长。他们希望能够为这个快速增长做好准备。
 
FamilySearch曾经深入地且一对一地对比了几个不同的关系型和NoSQL数据库,其中包括了开源版本的Cassandra和DSE。为了支持日益增长的用户需求,FamilySearch最终因伸缩性和高性能选择了DataStax Enterprise (DSE)。
 
DSE的无主架构提供了让人100%满意的可用性和零宕机时间——即使是在流量激增或集群维护时依然如此。作为一个分布式的、响应式的智慧型数据库,FamilySearch的家庭树App选择将DSE作为它建构和运行的基础。
 
FamilySearch在每周日的流量通常是最大的,在他们的数据库迁移之前,他们的数据库每周都会接近其处理能力的极限。幸运的是FamilySearch及时地做出了改变。
 
在使用DSE不到两周的时候,他们的数据库流量达到了之前系统的处理能力的极限。但是这时他们已经能够无缝地持续提供他们的用户所需的客户体验。
 
现在,FamilySearch在高峰使用期每小时例行处理1.25亿笔交易,并且还有着大量的未来增长的空间。

 
05 主要成果
 
选择DataStax Enterprise,FamilySearch通往未来增长的道路变得坚实可靠——客户们会体验到更快地响应时间、高可用性以及零数据库宕机时间。
 
不仅如此,DSE还帮助FamilySearch向市场推出了一些新功能。比如像是可以帮用户揭示新发现的新应用——资料提示(Record Hints),FamilySearch之前的基础设施是不可能负荷的。
 
自从采用了DSE,FamilySearch可以专注于构建和提高他们的应用程序,从而致力于联结不同代际的家庭成员的使命。

“FamilySearch帮助我们的客户寻找他们的祖先,并为他们的家族历史做出贡献。DataStax Enterprise提供的可伸缩的数据平台,正是我们扩大产品范围和持续为客户提供出色的体验所需要的。”
——FamilySearch软件开发经理Michael Nelson
 
 

行业动态 | 利用Cassandra数据库揭开家族祖先的秘密的更多相关文章

  1. 什么是Cassandra数据库

    在本文中,我们将介绍Cassandra名字的含义.Cassandra的发展简史.Cassandra这项技术的特点及优势,以及对于这项技术的未来展望. 本文将用浅显易懂的方式,帮助您将对Cassandr ...

  2. Cassandra 数据库安装部署

    安装版本 cassandra-3.11.4 系统版本 more /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 准备工作 Cassan ...

  3. 在Apache Cassandra数据库软件中报告高严重性RCE安全漏洞

    研究人员披露了ApacheCassandra一个现已修补的高严重性安全漏洞的细节,如果这个漏洞得不到解决,可能会被滥用来获取受影响安装的远程代码执行(RCE). DevOps公司JFrog的安全研究员 ...

  4. 【原创】Capture CIS利用Access数据库建立封装库说明

    1.在服务器端建立新空间,方便封装库以及数据库的归档存放 服务器路径:\\192.168.1.234\Share\STG_LIB,文件夹内容如下,其中Datesheet存放物料数据手册,Pcb_Lib ...

  5. Android下利用SQLite数据库实现增删改查

    1: 首先介绍如何利用adb查看数据库 1: adb shell 2: cd /data/data/包名/databases 3:  sqlite3 数据库 4   接下来就可以进行数据库的sql语法 ...

  6. 安卓项目-利用Sqlite数据库,开发新闻发布系统

    本教程致力于程序员可以快速的学习安卓移动端手机开发. 适合于已经习得一种编程语言的同仁. 更多志同道合,想要学习更多编程技术的大神们. 小弟不才,麻烦关注一下我的今日头条号-做全栈攻城狮. 本文章是基 ...

  7. 【Loadrunner】LR参数化:利用mysql数据库里面的数据进行参数化

    很多同学都在自学loadrunner去做压力测试,但是如果要利用LR做压力测试,或者是其他工具,其中有一个环节是我们避开不了的,比如说:参数化 今天华华就给大家简要的介绍下,如果你要做的参数化的数据来 ...

  8. 利用circpedia 数据库探究circRNA的可变剪切

    circpedia 中收录了利用circexplorer 软件识别到的circRNA, 覆盖了人,小鼠,鸟类,昆虫多个物种的多种细胞系的数据 官网链接如下: http://www.picb.ac.cn ...

  9. Cassandra数据库Java訪问

    针对的时Cassandra 2.0 数据库 Java本地client訪问Cassandra,首先建立Javaproject,使用Maven进行管理. 引入依赖: <dependency> ...

随机推荐

  1. do{}while(false)的用法

    do{}while(false): 在工作中我们能经常发现有人写 do{}while(false)  这样的代码,初看时让人迷惑不解,按照上面的语法 do{}while(false) 这样 do{} ...

  2. 不会吧不会吧,还有开发不会Java填充PDF模板数据的,赶紧看看吧

    思路 根据业务需求,获取实际业务数据,借助itext库功能,将业务数据填充入提前制作好的PDF模板中 操作步骤 制作PDF模板:提前下载好Adobe Acrobat Pro DC 效果展示 准备PDF ...

  3. 使用docker与宿主机文件互相拷贝

    1.从容器里面拷文件到宿主机 示例:容器名为s2-061_struts2_1,要从容器里面拷贝的文件路为:/usr/local/tomcat/webapps/test/js/test.js, 现在要将 ...

  4. 容器编排系统之Kubectl工具的基础使用

    前文我们了解了k8s的架构和基本的工作过程以及测试环境的k8s集群部署,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14126750.html:今天我们主要来 ...

  5. ORACLE启用非默认监听端口

    1.修改listener.ora文件 LISTENER_TEST =         (DESCRIPTION =                 (ADDRESS = (PROTOCOL = TCP ...

  6. oracle使用rman备份集恢复方式创建ADG

    一.背景 系统: 主库:rhel 6.4 64bit 备库:rhel 6.4 64bit   内存:2G [oracle@dgdb1 ~]$ free -m total used free share ...

  7. [日常摸鱼]bzoj2875[NOI2012]随机数生成器-矩阵快速幂

    好裸的矩阵快速幂-然而我一开始居然构造不出矩阵- 平常两个的情况都是拿相邻两项放在矩阵里拿去递推的-然后我就一直构造不出来-其实把矩阵下面弄成1就好了啊orz #include<cstdio&g ...

  8. Numpy的学习5-array的分割

    import numpy as np A = np.arange(12).reshape((3, 4)) print(A) """ array([[ 0, 1, 2, 3 ...

  9. rocketMq 消息偏移量 Offset

    消息偏移量 Offset queue0 offset 0   0-20  offset 4  20-40 纠错:每条消息的tag对应的HashCode. queue1 offset 1  0-20   ...

  10. python初学者-水仙花数简单算法

    输出"水仙花数".所谓水仙花是指一个3位数的十进制数,其各位数字的立方和等于该数本身.例如:153是水仙花数. 用for循环实现水仙花数的计算图如下所示: 1 for i in r ...