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. 通过git-bash 批量管理VMware虚拟机

    #先将vmrun .exe 加入环境变量 # 我这里是: ;C:\Program Files (x86)\VMware\VMware VIX; #cd E:/期中架构/#sh new\ 3.bash ...

  2. IO 的五种模型是什么

    目录 前言 用户空间和内核空间 IO 五种模型 阻塞型 IO 非阻塞 IO IO 多路复用 信号驱动 IO 异步 IO 总结 阻塞和非阻塞 同步与异步 前言 我们经常看到阻塞/非阻塞,同步/异步这两组 ...

  3. SpringBoot + SpringSecurity + Mybatis-Plus + JWT + Redis 实现分布式系统认证和授权(刷新Token和Token黑名单)

    1. 前提   本文在基于SpringBoot整合SpringSecurity实现JWT的前提中添加刷新Token以及添加Token黑名单.在浏览之前,请查看博客:   SpringBoot + Sp ...

  4. python 全局变量与局部变量 垃圾回收机制

    掌握L.E.G.B(作用域) 掌握局部作用域修改全局变量 步骤- 1.命名空间和作用域 命名空间:变量名称与值的映射关系作用域:变量作用的区域,即范围. 注意:class/def/模块会产生作用域:分 ...

  5. Hive通过Jdbc获取表的字段信息

    参考代码如下: /** * 按顺序返回字段 * desc table的返回结果形式如下: hive> describe ind01acoM; OK acq_ins_id_cd string cu ...

  6. vue第十二单元(vue中过渡效果的实现)

    第十二单元(vue中过渡效果的实现) #课程目标 熟练掌握transition组件的用法 熟练使用transition组件做过渡特效 熟练使用transition组件做动画特效 了解使用transit ...

  7. Java基础进阶:多态与接口重点摘要,类和接口,接口特点,接口详解,多态详解,多态中的成员访问特点,多态的好处和弊端,多态的转型,多态存在的问题,附重难点,代码实现源码,课堂笔记,课后扩展及答案

    多态与接口重点摘要 接口特点: 接口用interface修饰 interface 接口名{} 类实现接口用implements表示 class 类名 implements接口名{} 接口不能实例化,可 ...

  8. Docker Container 就是一个进程,多新鲜啊?

    大家对 Docker 都应该有了或多或少的认识了,相信大家都是从这两张图来粗旷的理解 Docker 及容器概念的 那我们如何更轻松的理解容器 Container 呢?说白了 Container 就是一 ...

  9. EF Core扩展工具记录 批量操作 记录修改删除历史 动态linq

      Microsoft.EntityFrameworkCore.UnitOfWork  Microsoft.EntityFrameworkCore的插件,用于支持存储库,工作单元模式以及支持分布式事务 ...

  10. 小题大做 | Handler内存泄露全面分析

    前言 嗨,大家好,问大家一个"简单"的问题: Handler内存泄露的原因是什么? 你会怎么答呢? 这是错误的回答 有的朋友看到这个题表示,就这?太简单了吧. "内部类持 ...