SlideShare a Scribd company logo
Cassandra @
Satoshi Konno
http://www.cybergarage.org
• Engineering Manager of NoSQL Team @ Yahoo! Japan
• Open Source Software Developer for
Virtual Reality, IoT and Cloud Computing
• Doctor's Course Student @ JAIST
Défago Lab : The φ accrual failure detector
About me
2
Agenda
• Company Profile
• Summary of C* Clusters
• Issues and Solutions of C*
• Next Generation Infrastructures for C*
Company Profile
4
Founded : January 31, 1996
Businesses : Internet Advertising
e-Commerce
Members Services, etc.
Web Services : 100+
Smartphone Apps: 50+ (iOS), 50+ (Android)
Employees : 5,800+ (as of June 30, 2016)
Head Office : Chiyoda-ku, Tokyo, Japan
Company Profile
5
Shareholder Composition
6
An independent and public company in the Japanese Market
U.S. Japan
35.5
%
42.9
%
Market Cap
$22 billion
Market Cap
$29 billion
Market Cap
$60 billion
18th Largest Internet Company in market cap
7
0
100
200
300
400
500
600
bilion	U.S.	dollars
http://www.statista.com/statistics/277483/market-value-of-the-largest-internet-companies-worldwide/
19years
16
17
18
Revenue ¥652B, Operating Income ¥171B (FY2015)
Continued Growth Sustained
60%
Consumer
32%
%
Others
8 %
Marketing Solutions
Revenue Portfolio
(FY2015)
Extensive Reach to a Wide Range of Users
10
80%
80% of all Japanese Internet users use Yahoo! JAPAN
Nielsen NetView June 2015 : Data by Brands. Access from home and work using PCs (excl. internet applications)
Many Strong Services
11
Media
US
Search Video Answer Mail
JP
US
JP
Membership C2C Payment C2C EC B2C EC Local
Search Knowledge search MailNews
YAHUOKU!Premium Wallet Loco
Summary of C* Clusters
12
Yahoo! JAPAN Database Platforms
13
300+
Systems
NoSQL
Team
100+
Services
OSS Database Platforms
14
300+
Systems
180
Systems
MySQL 630
DBs
100
Systems
Cassandra 130
DBs
30
70
60
40
Yahoo Japan
NoSQL
Team
RDB
Team
Cassandra @ Yahoo! JAPAN
15
2010 2012 2014 2016
Service
Departments
Our
Team
0.5 0.8 1.x
0.8 1.x 2.x 3.x
NoSQL
Team
Our Cassandra Clusters
16
30
Clusters
30TB
Usages
1000+
Nodes
300,000
Read/sec
100,000
Write/sec
2016
10
Nodes /
Cluster
160
Nodes /
Cluster
…
1
Shared
Cluster
30
Special
Clusters
30
Systems
50
Systems
3
DCs
Our Use Case Summary on Cassandra
17
100
Systems
20
Database	Caching	
10
Advertising Services
40
User Databases
50
Service Databases
Browsing History
Impression Data
・・・・
Meta Data
Aggregated Data
・・・・
Generated Data
Session Data
Meta Data
Aggregated Data
・・・・
Generated Data
Recommendation
Demographic Data
Life Log
・・・・
Preference Data
Behavior History
Our Issues and Solutions
18
ISSUE #1 : C10k Problem – C* Proxy
19
PC + Tablet
3.36B PV
Smart Device
3.45B PV
6.8 Billion PV /month
ISSUE #1 : C10k Problem – C* Proxy
20
Yahoo Japan Services
..........
10 〜 200 Front-end Servers / Service
PHOTO:AFLO
ISSUE #1 : C10k Problem – C* Proxy
• PROBLEM : 200 front-end servers * 128 processes
* 2 (C* request + C* heart beat)
=51,200 connections / node
21PHOTO:AFLO
200 Front-end Servers
128 processes
51,200 connections !
ISSUE #1 : C10k Problem – C* Proxy
• PROBLEM : 200 front-end servers * 128 processes
* 2 (C* request + C* heart beat)
=51,200 connections / node
22PHOTO:AFLO
ISSUE #1 : C10k Problem – C* Proxy
• PROBLEM : 200 front-end servers * 128 processes
* 2 (C* request + C* heart beat)
=51,200 connections / node
23
Process down
PHOTO:AFLO
ISSUE #1 : C10k Problem – C* Proxy
• SOLUTION : 200 front-end servers * 128 processes
* 1 proxy * 2 (C* request + C* heart beat)
=400 connections / node
24
200 front-end servers
1 proxy
400 connections !
128 processes
PHOTO:AFLO
ISSUE #2 : Boostrap Problem - Driver
• Heavy Services : ↑3000qps/node
= C* cluster with real servers (SSD is recommended)
• Light Services : ↓1000qps/node and ↓3GB/node
= C * cluster with virtual servers on OpenStack
25
Heavy Service Light Service
CPU = Good
vCPU = Cheap
ISSUE #2 : Boostrap Problem - Driver
• PROBLEM : All processes in each front-end server
tries to connect a new C* node which is added into
the cluster at the same time ...
26
..........
! ! !
! ! !
vCPU = Cheap
PHOTO:AFLO
ISSUE #2 : Boostrap Problem - Driver
• PROBLEM : The authentication of C* based on
BCrypt is heavy processing for the vCPU nodes.
27
..........
!
vCPU : Authentication (BCrypt) is heavy !
! !
! ! !
PHOTO:AFLO
ISSUE #2 : Boostrap Problem - Driver
• PROBLEM : Most processes can not connect to C*
clusters on OpenStack due to the authentication
processing, and the processes will timeout and
repeat to connect without waiting endlessly …
28
All vCPU Usages = 100% !
PHOTO:AFLO
vCPU : Authentication (BCrypt) is heavy !
Timeout ! Retry !
ISSUE #2 : Boostrap Problem - Driver
• SOLUTION : Improving the C* drivers not to connect
simultaneously when the connection is failed.
29
..........
!! !
! ! !
PHOTO:AFLO
ISSUE #3 : Multi-tenancy – Slow Query
• Small Services : (↓500qps and ↓10GB) / keyspace
= Shared C* cluster with real servers
30
Shared
Cluster
50
Services
ISSUE #3 : Multi-tenancy – Slow Query
• PROBLEM : Couldn’t find the causal service of the
high loading queries in the multi-tenancy cluster.
31
Shared
Cluster Which
services ?
QUERY
QUERY
PHOTO:AFLO
ISSUE #3 : Multi-tenancy – Slow Query
• SOLUTION : CASSANDRA-12403 - Slow query
detecting
32
Shared
Cluster
Service Remove
Special
Cluster
QUERY
PHOTO:AFLO
Slow Query !
ISSUE #4 : Multi-racking – Inbound Params
• PROBLEM : Our C* clusters are build with other
services in a same rack or under a same core switch.
33PHOTO:AFLO
ISSUE #4 : Multi-racking – Inbound Params
• PROBLEM : C* Streaming occurs when the node is
added or remove by the our operation or the failure
detection.
34
Streaming
PHOTO:AFLO
ISSUE #4 : Multi-racking – Inbound Params
• PROBLEM : The streaming of C* rises a heavy traffic,
and it troubles the other services.
35
Streaming
Streaming
Streaming
Stop C*
streaming !
PHOTO:AFLO
stream_throughput_outbound
stream_throughput_outbound
stream_throughput_outbound
ISSUE #4 : Multi-racking – Inbound Params
• SOLUTION : CASSANDRA-11303 - New inbound
throughput parameters for streaming
36
Streaming
Streaming
Streaming
PHOTO:AFLO
stream_throughput_outbound
stream_throughput_outbound
stream_throughput_outbound
stream_throughput_inbound
stream_throughput_inbound
stream_throughput_inbound
Next Generation
Infrastructures for C*
37
• PURPOSE : To abstract our data center resources
using OpenStack.
Apps
Platforms
Infrastructures
APIAPI
API API API API
OpenStack @ Yahoo! JAPAN
38
50,000+
instances
Trial #1 : Special Hypervisor for C*
• PROBLEM : Our hypervisors of OpenStack has C*
and other service VMs.
39
Noisy
Neighbours
Trial #1 : Special Hypervisor for C*
• SOLUTION : Trying to offer the special hypervisors
which runs only C* VMs.
40
vCPU : 8+, Mem : 16GiB+
SSD : 100GiB+
Optimal
Flavors for C*
10Gbps x 2
TRIAL#2 : Bare Metal Clusters for C*
• PROBLEM : vCPU of OpenStack is cheap to run a C*
node in our special service environment such as the
many connections.
41
vCPU : Authentication (BCrypt) is heavy !
TRIAL #2 : Bare Metal Clusters for C*
• SOLUTION : Trying to offer the special bare metal
clusters which runs only C* using OpenStack Ironic.
42
Ironic
Xeon D-1541 2.1GHz (1CPU)
32GBMEM / SATA SSD 400GB
10Gbps x 2
Cassandra @ Yahoo Japan | Cassandra Summit 2016

More Related Content

Similar to Cassandra @ Yahoo Japan | Cassandra Summit 2016

How to measure everything - a million metrics per second with minimal develop...
How to measure everything - a million metrics per second with minimal develop...How to measure everything - a million metrics per second with minimal develop...
How to measure everything - a million metrics per second with minimal develop...
Jos Boumans
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure Platform
SZ Lin
 
2014 DATA @ NFLX (Tableau Customer Conference)
2014 DATA @ NFLX (Tableau Customer Conference)2014 DATA @ NFLX (Tableau Customer Conference)
2014 DATA @ NFLX (Tableau Customer Conference)
Albert Wong
 
ICON Smart Contract Development
ICON Smart Contract DevelopmentICON Smart Contract Development
ICON Smart Contract Development
ICON Foundation
 
09.50 Ernst Vrolijks
09.50 Ernst Vrolijks09.50 Ernst Vrolijks
09.50 Ernst Vrolijks
Themadagen
 
CodeIgniter For Project : Lesson 106 - Model
CodeIgniter For Project : Lesson 106 - ModelCodeIgniter For Project : Lesson 106 - Model
CodeIgniter For Project : Lesson 106 - Model
Weerayut Hongsa
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
Lightbend
 
YANG push Integration into Apache Kafka
YANG push Integration into Apache KafkaYANG push Integration into Apache Kafka
YANG push Integration into Apache Kafka
ThomasGraf42
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
DevDay.org
 
CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStack
ShapeBlue
 
機器學習應用於蔬果辨識
機器學習應用於蔬果辨識機器學習應用於蔬果辨識
機器學習應用於蔬果辨識
Kobe Yu
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
GetInData
 
Python on Rails - Victory Levy
Python on Rails - Victory LevyPython on Rails - Victory Levy
Python on Rails - Victory Levy
Hakka Labs
 
Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.
112Motion
 
Precomputing recommendations with Apache Beam
Precomputing recommendations with Apache BeamPrecomputing recommendations with Apache Beam
Precomputing recommendations with Apache Beam
Tatiana Al-Chueyr
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
Alan Percy
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
TelcoBridges Inc.
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
brouer
 
Villegas first pacsec_2016
Villegas first pacsec_2016Villegas first pacsec_2016
Villegas first pacsec_2016
PacSecJP
 

Similar to Cassandra @ Yahoo Japan | Cassandra Summit 2016 (20)

How to measure everything - a million metrics per second with minimal develop...
How to measure everything - a million metrics per second with minimal develop...How to measure everything - a million metrics per second with minimal develop...
How to measure everything - a million metrics per second with minimal develop...
 
Introduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure PlatformIntroduction to Civil Infrastructure Platform
Introduction to Civil Infrastructure Platform
 
2014 DATA @ NFLX (Tableau Customer Conference)
2014 DATA @ NFLX (Tableau Customer Conference)2014 DATA @ NFLX (Tableau Customer Conference)
2014 DATA @ NFLX (Tableau Customer Conference)
 
ICON Smart Contract Development
ICON Smart Contract DevelopmentICON Smart Contract Development
ICON Smart Contract Development
 
09.50 Ernst Vrolijks
09.50 Ernst Vrolijks09.50 Ernst Vrolijks
09.50 Ernst Vrolijks
 
CodeIgniter For Project : Lesson 106 - Model
CodeIgniter For Project : Lesson 106 - ModelCodeIgniter For Project : Lesson 106 - Model
CodeIgniter For Project : Lesson 106 - Model
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
YANG push Integration into Apache Kafka
YANG push Integration into Apache KafkaYANG push Integration into Apache Kafka
YANG push Integration into Apache Kafka
 
Agile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian SussmannAgile project management in IT - Sebastian Sussmann
Agile project management in IT - Sebastian Sussmann
 
CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStack
 
機器學習應用於蔬果辨識
機器學習應用於蔬果辨識機器學習應用於蔬果辨識
機器學習應用於蔬果辨識
 
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...ITCamp 2019 - Florin Loghiade -  Azure Kubernetes in Production - Field notes...
ITCamp 2019 - Florin Loghiade - Azure Kubernetes in Production - Field notes...
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
 
Python on Rails - Victory Levy
Python on Rails - Victory LevyPython on Rails - Victory Levy
Python on Rails - Victory Levy
 
Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.Modernize your AS400 - the future proof, low cost solution.
Modernize your AS400 - the future proof, low cost solution.
 
Precomputing recommendations with Apache Beam
Precomputing recommendations with Apache BeamPrecomputing recommendations with Apache Beam
Precomputing recommendations with Apache Beam
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
 
ProSBC on Azure - A Tutorial
ProSBC on Azure - A TutorialProSBC on Azure - A Tutorial
ProSBC on Azure - A Tutorial
 
Challenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of viewChallenges and experiences with IPTV from a network point of view
Challenges and experiences with IPTV from a network point of view
 
Villegas first pacsec_2016
Villegas first pacsec_2016Villegas first pacsec_2016
Villegas first pacsec_2016
 

Recently uploaded

快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
3a0sd7z3
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
Donato Onofri
 
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
k4ncd0z
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
bseovas
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 

Recently uploaded (20)

快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
 
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 

Cassandra @ Yahoo Japan | Cassandra Summit 2016

  • 2. Satoshi Konno http://www.cybergarage.org • Engineering Manager of NoSQL Team @ Yahoo! Japan • Open Source Software Developer for Virtual Reality, IoT and Cloud Computing • Doctor's Course Student @ JAIST Défago Lab : The φ accrual failure detector About me 2
  • 3. Agenda • Company Profile • Summary of C* Clusters • Issues and Solutions of C* • Next Generation Infrastructures for C*
  • 5. Founded : January 31, 1996 Businesses : Internet Advertising e-Commerce Members Services, etc. Web Services : 100+ Smartphone Apps: 50+ (iOS), 50+ (Android) Employees : 5,800+ (as of June 30, 2016) Head Office : Chiyoda-ku, Tokyo, Japan Company Profile 5
  • 6. Shareholder Composition 6 An independent and public company in the Japanese Market U.S. Japan 35.5 % 42.9 % Market Cap $22 billion Market Cap $29 billion Market Cap $60 billion
  • 7. 18th Largest Internet Company in market cap 7 0 100 200 300 400 500 600 bilion U.S. dollars http://www.statista.com/statistics/277483/market-value-of-the-largest-internet-companies-worldwide/
  • 8. 19years 16 17 18 Revenue ¥652B, Operating Income ¥171B (FY2015) Continued Growth Sustained
  • 10. Extensive Reach to a Wide Range of Users 10 80% 80% of all Japanese Internet users use Yahoo! JAPAN Nielsen NetView June 2015 : Data by Brands. Access from home and work using PCs (excl. internet applications)
  • 11. Many Strong Services 11 Media US Search Video Answer Mail JP US JP Membership C2C Payment C2C EC B2C EC Local Search Knowledge search MailNews YAHUOKU!Premium Wallet Loco
  • 12. Summary of C* Clusters 12
  • 13. Yahoo! JAPAN Database Platforms 13 300+ Systems NoSQL Team 100+ Services
  • 14. OSS Database Platforms 14 300+ Systems 180 Systems MySQL 630 DBs 100 Systems Cassandra 130 DBs 30 70 60 40 Yahoo Japan NoSQL Team RDB Team
  • 15. Cassandra @ Yahoo! JAPAN 15 2010 2012 2014 2016 Service Departments Our Team 0.5 0.8 1.x 0.8 1.x 2.x 3.x NoSQL Team
  • 16. Our Cassandra Clusters 16 30 Clusters 30TB Usages 1000+ Nodes 300,000 Read/sec 100,000 Write/sec 2016 10 Nodes / Cluster 160 Nodes / Cluster … 1 Shared Cluster 30 Special Clusters 30 Systems 50 Systems 3 DCs
  • 17. Our Use Case Summary on Cassandra 17 100 Systems 20 Database Caching 10 Advertising Services 40 User Databases 50 Service Databases Browsing History Impression Data ・・・・ Meta Data Aggregated Data ・・・・ Generated Data Session Data Meta Data Aggregated Data ・・・・ Generated Data Recommendation Demographic Data Life Log ・・・・ Preference Data Behavior History
  • 18. Our Issues and Solutions 18
  • 19. ISSUE #1 : C10k Problem – C* Proxy 19 PC + Tablet 3.36B PV Smart Device 3.45B PV 6.8 Billion PV /month
  • 20. ISSUE #1 : C10k Problem – C* Proxy 20 Yahoo Japan Services .......... 10 〜 200 Front-end Servers / Service PHOTO:AFLO
  • 21. ISSUE #1 : C10k Problem – C* Proxy • PROBLEM : 200 front-end servers * 128 processes * 2 (C* request + C* heart beat) =51,200 connections / node 21PHOTO:AFLO 200 Front-end Servers 128 processes 51,200 connections !
  • 22. ISSUE #1 : C10k Problem – C* Proxy • PROBLEM : 200 front-end servers * 128 processes * 2 (C* request + C* heart beat) =51,200 connections / node 22PHOTO:AFLO
  • 23. ISSUE #1 : C10k Problem – C* Proxy • PROBLEM : 200 front-end servers * 128 processes * 2 (C* request + C* heart beat) =51,200 connections / node 23 Process down PHOTO:AFLO
  • 24. ISSUE #1 : C10k Problem – C* Proxy • SOLUTION : 200 front-end servers * 128 processes * 1 proxy * 2 (C* request + C* heart beat) =400 connections / node 24 200 front-end servers 1 proxy 400 connections ! 128 processes PHOTO:AFLO
  • 25. ISSUE #2 : Boostrap Problem - Driver • Heavy Services : ↑3000qps/node = C* cluster with real servers (SSD is recommended) • Light Services : ↓1000qps/node and ↓3GB/node = C * cluster with virtual servers on OpenStack 25 Heavy Service Light Service CPU = Good vCPU = Cheap
  • 26. ISSUE #2 : Boostrap Problem - Driver • PROBLEM : All processes in each front-end server tries to connect a new C* node which is added into the cluster at the same time ... 26 .......... ! ! ! ! ! ! vCPU = Cheap PHOTO:AFLO
  • 27. ISSUE #2 : Boostrap Problem - Driver • PROBLEM : The authentication of C* based on BCrypt is heavy processing for the vCPU nodes. 27 .......... ! vCPU : Authentication (BCrypt) is heavy ! ! ! ! ! ! PHOTO:AFLO
  • 28. ISSUE #2 : Boostrap Problem - Driver • PROBLEM : Most processes can not connect to C* clusters on OpenStack due to the authentication processing, and the processes will timeout and repeat to connect without waiting endlessly … 28 All vCPU Usages = 100% ! PHOTO:AFLO vCPU : Authentication (BCrypt) is heavy ! Timeout ! Retry !
  • 29. ISSUE #2 : Boostrap Problem - Driver • SOLUTION : Improving the C* drivers not to connect simultaneously when the connection is failed. 29 .......... !! ! ! ! ! PHOTO:AFLO
  • 30. ISSUE #3 : Multi-tenancy – Slow Query • Small Services : (↓500qps and ↓10GB) / keyspace = Shared C* cluster with real servers 30 Shared Cluster 50 Services
  • 31. ISSUE #3 : Multi-tenancy – Slow Query • PROBLEM : Couldn’t find the causal service of the high loading queries in the multi-tenancy cluster. 31 Shared Cluster Which services ? QUERY QUERY PHOTO:AFLO
  • 32. ISSUE #3 : Multi-tenancy – Slow Query • SOLUTION : CASSANDRA-12403 - Slow query detecting 32 Shared Cluster Service Remove Special Cluster QUERY PHOTO:AFLO Slow Query !
  • 33. ISSUE #4 : Multi-racking – Inbound Params • PROBLEM : Our C* clusters are build with other services in a same rack or under a same core switch. 33PHOTO:AFLO
  • 34. ISSUE #4 : Multi-racking – Inbound Params • PROBLEM : C* Streaming occurs when the node is added or remove by the our operation or the failure detection. 34 Streaming PHOTO:AFLO
  • 35. ISSUE #4 : Multi-racking – Inbound Params • PROBLEM : The streaming of C* rises a heavy traffic, and it troubles the other services. 35 Streaming Streaming Streaming Stop C* streaming ! PHOTO:AFLO stream_throughput_outbound stream_throughput_outbound stream_throughput_outbound
  • 36. ISSUE #4 : Multi-racking – Inbound Params • SOLUTION : CASSANDRA-11303 - New inbound throughput parameters for streaming 36 Streaming Streaming Streaming PHOTO:AFLO stream_throughput_outbound stream_throughput_outbound stream_throughput_outbound stream_throughput_inbound stream_throughput_inbound stream_throughput_inbound
  • 38. • PURPOSE : To abstract our data center resources using OpenStack. Apps Platforms Infrastructures APIAPI API API API API OpenStack @ Yahoo! JAPAN 38 50,000+ instances
  • 39. Trial #1 : Special Hypervisor for C* • PROBLEM : Our hypervisors of OpenStack has C* and other service VMs. 39 Noisy Neighbours
  • 40. Trial #1 : Special Hypervisor for C* • SOLUTION : Trying to offer the special hypervisors which runs only C* VMs. 40 vCPU : 8+, Mem : 16GiB+ SSD : 100GiB+ Optimal Flavors for C* 10Gbps x 2
  • 41. TRIAL#2 : Bare Metal Clusters for C* • PROBLEM : vCPU of OpenStack is cheap to run a C* node in our special service environment such as the many connections. 41 vCPU : Authentication (BCrypt) is heavy !
  • 42. TRIAL #2 : Bare Metal Clusters for C* • SOLUTION : Trying to offer the special bare metal clusters which runs only C* using OpenStack Ironic. 42 Ironic Xeon D-1541 2.1GHz (1CPU) 32GBMEM / SATA SSD 400GB 10Gbps x 2