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. 笔记-[JSOI2011]柠檬

    笔记-[JSOI2011]柠檬 [JSOI2011]柠檬 \(f_i\) 表示到第 \(i\) 只贝壳最多可以换得的柠檬数. 令 \(c_i=\sum_{h=1}^i[s_h=s_i]\). \[\b ...

  2. 题解-Koishi Loves Construction

    题解-Koishi Loves Construction 前缀知识 质数 逆元 暴搜 Koishi Loves Construction 给定 \(X\),\(T\) 组测试数据,每次给一个 \(n\ ...

  3. Jackson:我是最牛掰的 Java JSON 解析器(有点虚)

    在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...

  4. Navicat12白嫖安装

    读书人怎么能算白嫖呢 搬运链接https://my.oschina.net/ZL520/blog/3070953 链接:https://pan.baidu.com/s/1jNBO9EzTzhalMgm ...

  5. [日常摸鱼]bzoj1036 [ZJOI2008]树的统计Count

    听说后天会考x 省选居然还考模板题的么(好吧好像NOI也有考而且也是树剖-) 题意:一棵树,每个点有权值,三种操作:单点修改.求链上最大值.求链上权值和. 直接上模板. 我可能不会写单点修改的线段树了 ...

  6. Wordpress Polylang 翻译自定义格式

    WordPress 多语言插件 Polylang 主题函数参考 重要:使用一个函数之前,你必须检查函数是否存在,否则,你的网站可能会在 Polylang 更新之前遇到致命错误(因为 WordPress ...

  7. 简单的堆排序-python

    AA = raw_input().strip().split(' ') A = [] ###############初始化大堆############### def fixUp(A): k = len ...

  8. @RequestBody,@RequestParam请求数据接收数据

    一. @RequestBody 注解 @RequestBody是用于解析body中的json内容,对于我们使用时候我们需要指定Content-Type参数为application/json,标识我们需 ...

  9. Scanner详解

    java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入 1)public static void main(String[] args) { S ...

  10. springboot 启动jar正确方式

    首先需要pom.xml配置一个插件: IDEA 在右侧执行顶上m图片按钮 在command Line 中执行clean package命令 执行打包注意 打完jar包后最好解压jar查看一下META- ...