You know, one of the biggest advantage of Cassandra is the high writing speed. So I wrote a test on a single Cassandra node to see what's happening. What I found is reaaaaaaaally out of my expect. Based on test result, the write speed of Cassandra is much slower than Oracle. I don't know why.
Oracle and Cassandra are both running on the same server and same disk.
In Cassandra, each row has 20 columns. The row data is like:
cassandra> get Keyspace1.Standard2['key1']
=> (column=name9, value=value19, timestamp=1279794828940)
=> (column=name8, value=value18, timestamp=1279794828940)
=> (column=name7, value=value17, timestamp=1279794828940)
=> (column=name6, value=value16, timestamp=1279794828940)
=> (column=name5, value=value15, timestamp=1279794828940)
=> (column=name4, value=value14, timestamp=1279794828940)
=> (column=name3, value=value13, timestamp=1279794828940)
=> (column=name20, value=value120, timestamp=1279794828941)
=> (column=name2, value=value12, timestamp=1279794828940)
=> (column=name19, value=value119, timestamp=1279794828941)
=> (column=name18, value=value118, timestamp=1279794828941)
=> (column=name17, value=value117, timestamp=1279794828941)
=> (column=name16, value=value116, timestamp=1279794828941)
=> (column=name15, value=value115, timestamp=1279794828941)
=> (column=name14, value=value114, timestamp=1279794828941)
=> (column=name13, value=value113, timestamp=1279794828941)
=> (column=name12, value=value112, timestamp=1279794828941)
=> (column=name11, value=value111, timestamp=1279794828940)
=> (column=name10, value=value110, timestamp=1279794828940)
=> (column=name1, value=value11, timestamp=1279794828903)
I use Java Thrift API
batch_insert to insert rows. You can download my code from the attachments. The Cassandra test result is:
Number of Thread | rows per-thread | Time esapsed | Rows per-second |
1 | 2000 | 8927 ms | 224 |
1 | 5000 | 13854 ms | 360 |
1 | 10000 | 20286 ms | 492 |
1 | 20000 | 31974 ms | 625 |
1 | 50000 | 62965 ms | 794 |
5 | 1000 | 12401 | 403 |
5 | 2000 | 17571 ms | 569 |
5 | 4000 | 26202 ms | 763 |
5 | 10000 | 50364 ms | 992 |
10 | 1000 | 22200 ms | 450 |
10 | 2000 | 32712 ms | 611 |
10 | 5000 | 65625 ms | 761 |
The Oracle test result is:
50000 rows are inserted
JDBC batch insert speed:
4000 rows persecond
JDBC single isnert speed:
330 row persecond
Compare the test result above, it's obviously that
the write speed of Oracle is much faster than Cassandra . But everybody is talking the Cassandra is very fast... I am really confused. Did I make some mistake about Cassandra setting? I only changed the path of data and commit log.
Can anybody help me?
分享到:
相关推荐
《Cassandra High Performance Cookbook》不仅是一本技术手册,更是一部实战指南,它覆盖了从基础理论到高级应用的广泛内容,适合于希望深入了解和掌握Cassandra高性能部署与管理的IT专业人士。通过学习这本书,读者...
[Packt Publishing] Cassandra High Performance Cookbook (E-Book) ☆ 出版信息:☆ [作者信息] Edward Capriolo [出版机构] Packt Publishing [出版日期] 2011年07月15日 [图书页数] 324页 [图书语言] 英语 ...
This book shows you how., Understand the tenets of Cassandra's column-oriented structure, Get best practices for configuring, monitoring, and performance tuning, Learn how to write, update, and read ...
近期, 知名独立基准测评机构bankmark,针对SequoiaDB、MongoDB以及Cassandra三款NoSQL数据库产品做了性能对比测试。在所有的测试中,三款产品的表现各有千秋。 报道详情:http://code.csdn.net/news/2823026
This technical report presents the results of a benchmark test conducted by Locomatix, Inc., on Apache’s Cassandra open-source distributed database management system (DBMS), utilizing the Violin ...
在本文中,我们将深入探讨如何将Spring Boot框架与Cassandra数据库集成,并利用Java Persistence API (JPA) 进行数据操作。Spring Boot以其简洁的配置和开箱即用的特性,已经成为Java开发中的首选框架之一。而...
The book is aimed at intermediate developers with an understanding of core database concepts and want to become a master implementing Cassandra for their application. Table of Contents Chapter 1. ...
- **一致性与可用性**:Cassandra遵循CAP理论,但在实际应用中倾向于保障可用性和分区容忍性,通过多种机制如Quorum或read-your-write来实现最终一致性。 - **扩展性**:Cassandra支持水平扩展(Scale Out),即...
在本文档中,标题“Learning_Apache_Cassandra”透露了内容的主题,即学习Apache Cassandra。Cassandra是一个开源的NoSQL分布式数据库管理系统,它以高可用性和分布式架构著称。该书详细介绍了Cassandra的基本概念、...
DevCenter 是一个强大的工具,专为数据科学家、开发人员和管理员设计,用于与Apache Cassandra数据库进行交互。这个工具提供了一个直观的用户界面,使得管理、查询和开发Cassandra数据库变得简单易行。Cassandra是一...
Cassandra是一款分布式、高度可扩展的NoSQL数据库系统,由Facebook于2008年开源,并在随后被Apache软件基金会接纳为顶级项目。Cassandra的设计灵感来源于Google的Bigtable,旨在处理大规模的数据存储需求,特别适合...