NoSQL数据库 Cassandra(一)
随着互联网技术的发展,对数据存储的要求越来越高,在容量、安全性、备份、高可用性等方面都有很高的需求,很受欢迎的关系型数据库有SQLServer、MySQL、Orcale等,非关系型数据库有key、value型的Redis,Memcached,文档型数据库有MongoDB、CouchDB,还有列簇类型的Hbase、Cassandra。种类繁多,要学习的知识点越来越多,我们在技术选型时,必须遵循“没有最好的技术,只有最适合的技术”。因为业务的需要有的折腾新的技术,接下来将初步研究Cassandra的过程做一下笔记,以便后期查阅。 1、初识Cassandra Apache Cassandra是高度可扩展的,高性能的分布式NoSQL数据库。 Cassandra旨在处理许多服务器上的大量数据,提供高可用性而无需担心单点故障。 Cassandra具有能够处理大量数据的分布式架构。 数据放置在具有多个复制因子的不同机器上,以获得高可用性,而无需担心单点故障。 官网:http://cassandra.apache.org/ 帮助文档:http://cassandra.apache.org/doc/latest/contactus.html 目前主流的版本:Apache Cassandra 3.11 Apache Cassandra 3.0 Apache Cassandra 2.2 Apache Cassandra 2.1 目前没发现Cassandra比较新书籍,网上能搜到的Cassandra 实战 Cassandra 权威指南 是基于0.6与0.7,相对目前常用的版本已经很陈旧,所以当我们学习Cassandra 时,最好的方式是研究官方文档。 1.1 Cassandra与关系数据库比较
在MySQL等关系型数据库中,都有表和库的概念,不同类型的数据库中库的创建等方式都是不一样的,MySQL等关系型数据库必须先用CREATE语句创建数据库和表结构才能插入数据,而Redis中根据配置文件中数据库的个数,已经生成若干个数据库,只需要用SELECT切换即可。MongoDB又是特殊的一种特殊的数据库,里面没有表的概念是库和集合,在一定的情形下,不用自己创建,可以直接插入数据非常的便捷。Cassandra里面没有库的概念,里面是 1.2 Cassandra与HBase比较
近年来随着大数据技术与产业链的发展,Hadoop、Spark、Storm等技术发展迅速,同时,好多做大数据相关的技术人员供不应求,身价翻了好多,让我这种?潘亢蒙?羡慕。而HBase是大数据存储领域里的先锋和基石。扮演着非常重要的角色。但是整体架构的体量确实不小,整体的架构比Cassandra复杂很多,无形中加大了系统的复杂度和可维护性。 1.3 使用Cassandra的互联网公司 国外:
国内:
2、安装与实践 1、环境需求 InstallingCassandra Prerequisites ThelatestversionofJava8,eithertheOracleJavaStandardEdition8orOpenJDK8.To verifythatyouhavethecorrectversionofjavainstalled,typejava-version. Forusingcqlsh,thelatestversionofPython2.7.Toverifythatyouhave thecorrectversionofPythoninstalled,typepython--version 根据官网知道文档需要java8以及python2.7的支持现在好多生产环境已经都在使用CentOS7.X操作系 统了,而CentOS7.X是自带python2.7,我们自行检查一下,缺少python2.7和java8的情况,请自己安装 即可。 2、常见安装方式
二进制安装方式简答快捷,不需要编译,安装包下载后,对网络依赖比较低。 3、单机安装测试 操作系统:CentOS 7.1 Cassandra:Cassandra 3.11.1 安装方式:yum安装 能够上网, yum源信息: /etc/yum.repos.d/cassandra.repo [cassandra] name=ApacheCassandra baseurl= gpgcheck=1 repo_gpgcheck=1 gpgkey= 安装 sudoyuminstallcassandra 启动服务 servicecassandrastart 服务开机启动 chkconfigcassandraon Cassandra的相关内容比较多,后续再介绍常见的对keyspace的操作,以及对表操作,增删改查,日常监控、安全与备份、高可用性集群等相关知识。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |