bluerunner: building an email service in the cloud
DESCRIPTION
By Jun Rao, IBM AlmadenResearch CenterTRANSCRIPT
�
BlueRunner: Building an Email Service in the Cloud
Jun RaoIBM Almaden Research Center
Apache Cassandra Committer
�
The Team
StefanNusser
JeraldSchoudt
JanPieper
HernanBadenes
JulianCerruti
BoShekita
SandeepTata
JunRao
User Systems and ExperienceResearch
Information ManagementResearch
�
�����
� ����� �� ���� ��������������� �� ����� ������������� �� � ����� ��� �� ���� ������ ����� �
�
!��"������� � ��� �!�� ��������� �!��������������#�$�%��� � ��� &���������������'������� �����(�
� �'��� �����!������ )���� ����!������� �����(�
� $�������������� ��������� �� ������ *��� ��+,������ �� ���+��������� ,! ������ � �� ������-���������#�� �����
� ���(�� ,!������.�������� ���������!������!����(�� /������� ��� �&�����!������� ���
� �001�������2�3���!����!��001�������
4
5��������!���������(6
7
!���������(�6
limiting scalability
mismatch for many apps
8����������������&�������
8��� ����������� ������� ����������!��
�(����������&&& !� ������ ���������� ��� ������
*����&��� ��� ������2����� ��������� ��
���������������������� ���
9
,!�������:������ �� ������������(�
BigTable
�������
Voldemort
Cassandra
� � �������������� ����������������������� �/�$������ ����+!������ ����������� ;2�������/�$�����������������(�������� <�� ���
HBase
=
!����������������������� 6� $������ ����������/�$����������������
� $��!������ �%�#��!��>:� /������������
�����&����������������&�������8����������������&�������
8��� ����������� ������� ����������!��
�(����������&&& !� ������ ���������� ��� ������
*����&��� ��� ������2����� ��������� ��
���������������������� ���
�����&��� �����8���� �� ��!�� <�� �
���� ���������� ��� �������������
*����&��� �������������� .� ������������������������(�
��� �� ����������
?
������ �� @����"��������� ����������'�%��A�"��/�������������� �!�����
� /���������*�����( ���009� -������ ���������� �����������BC�C3����2��� �!��� ��00$��� �D
� �������%���!�#������ �� �E���� ����00?� ��������������� ����������������� ��� ������(���� ���#�$� ��� ����� ��� ���/���3�,���� 3���
�0
������ ��/����$���� *������ � ������� �����3� ���3����������3������� ���2���
� 8����� �����!��� <�� �� 8����������������������������������������� ��� ��� ������ ��
(��9 ���F��������� �� ���F����� ����F�G�C04(�=9 ���F� ����� �!��F�=( ����F�GC�4
H
�� ����
������
�� �� ��
����F���������������� H(��9
� �������� ���������������*������� ��������������� ���� ����� �����B��(�� �������� �������D
��
������ ��/��� ������% �!�����
/����� �
/����� �
/����� �
� �������/5,� ��� ��������� � ���& ��(��� � ���&������ B����� �����D� 8�������������������� � @������� ���������� ���� �!��3������ 3�/5,����3���
!����� "����#$
����3�*����&��� ��3�;���������3�:��&����
��
;��������������� %&'������ I� � 00J
� ����������� ���%�������3�&�����������3�� �'� ��������� ��� ������ �� ��2��% �����������������
� ;��!����������� �� ��������������������� %��������� �� ��+� ��������� ������K ����� � ����������������
� (���������������������������������������� ����� �����������8� ����������� ����� ����!������� ���� �� � �������������� �� �) ��(� �� �� ���� ,������� �����3�3�H38 �� ������� <�� ���
�����������
��(
��� ��� ��� ��� ��� ���
��� ����� �������������������������!�
��
;�������!����������� �� ����(��& -� ���
� %���������� ����� ���������������� �� �������!� ��������������� ������ �
� ������*������� $���:��� & $��������F������������ 5�� :��� & $��������F�������!�� ��'��������� ��������#�2 & ������������'��� ��(��F���������
C�C3��#��2+/��+�00?&09&�0&��F�0F47�F�������000#��2+�� +$�(�� ���F�������000
� ��! �� ��������$������3�,! ��:���3�,! ��#�2
� *������������� ����� ������ �����2������������ /������ ����& L��8
��
,��������� ������ ������ ��%�#�����
� ��M�����B ��3��*3������D� ��M������B ��3��*3�������IJD� ��M����B ��3��*3���� ������3����+���3�����D� ;����������!� ��+��������2������ ���������� �
� :���$������ ��M����BL�3���������#�23�#��2+/��+�� �M���+3����3�40D�����������!��� ���40������#/� ��#��2
� ��M������BL�3�5�� :���3������#/IJD� @�$����
� ��M�����BL�3�$���:���3������#/D� �� �$����� �����
� ��M����BL�3���������#�23�#��2+�� ++3����3�40D� ��M������BL�3�5�� :���3������#/IJD
�4
����� /������
*'+�,�
�����
-�� �����-�� �����
%��������%��������
)�������� "�����$)�������� "�����$
-�� % ����-�� % ����
�7
;2� ����������� 7&�������� ������!�������!
� ��<���&�� ���-�� �7�@����� �� 4��%,%����(��B���� ������� �������������������� �����D
� /���� � �����=00�������2��� ���
� �40&�71��������� �������2� )40@���+�� ��������
� ������ �� ����������������� � (����
� N� ����O�������� ��������� ����700������00�� ���� ;��!������ ������
� ������������2� ���(���������������� ������������ ����!��
�9
� ����� ��������B����� �������������D
GetMessage
0
50
100
150
200
250
300
1667 2500 3333 4167
# of concurrent clients
ms
3-node Cassandra
6-node Cassandra
ListMessages
0
150
300
450
600
750
900
1667 2500 3333 4167
# of concurrent clients
ms
3-node Cassandra
6-node Cassandra
� %��������������400����� ��������� �������!� ������� ��������� �� ��F�)�00� <������ ����� ���
�=
����� �� ������ �&��������(��� ��� ������
� ;�����������������3�������������3�������������� *�2������������������������
� *��� ��� (� $����������������� ���
� %�� �������!��������� ����� ����2+����&�2����2������ �� ;������$������&�����������������!����(�
� ��! ���������������� ������������������ �� ��� �!������ � ����������������������������������