`
xitonga
  • 浏览: 583920 次
文章分类
社区版块
存档分类
最新评论

MemSQL学习笔记-类似MySQL的数据库

 
阅读更多
http://gigaom.com/cloud/ex-facebookers-launch-memsql-to-make-your-database-fly/


-- 多主-从

http://www.mysqlops.com/2012/02/14/diy_multi_master_replication.html
http://www.cnblogs.com/liuhao/archive/2012/06/26/2563702.html


前facebook员工和前微软sql server工程师联合搞的一个分布式关系数据库
全部内存运行,将sql转化成速度更快的c++, 原理类似HipHop


有mysql api, 完全兼容mysql,没有学习使用成本
速度是mysql的30倍,每秒可处理150万的事务


官方网站:http://memsql.com/
参考文档:http://space.itpub.net/7607759/viewspace-733545


参考官方文档:http://developers.memsql.com/docs/1b/
http://developers.memsql.com/docs/1b/
-- ==============================================================


1 Install

wget http://download.memsql.com/814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.tar.gz

tar xvfz memsqlbin_amd64.tar.gz
cd memsqlbin
./check_system
Warning: The version of CentOS that you're using (5.5) is too low.
MemSQL supports versions 6.0 and up.

/home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++: /lib64/libc.so.6: version GLIBC_2.11' not found (required by /home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++)


【解决办法】安装glibc
[root@banggo ~]#
wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.11.tar.gz
tar zxvf glibc-2.11.tar.gz
cd glibc-2.11
mkdir glibc-2.11-build
退出去在别的目录执行如下编译
/usr/src/glibc-2.11/configure --prefix=/usr/src/glibc-2.11/glibc-2.11-build/
error:
checking for .cfi_personality and .cfi_lsda pseudo-ops... no
configure: error: assembler too old, .cfi_personality support missing


【解决】
参考网址
http://groups.google.com/group/rocks-clusters/browse_thread/thread/4c9298adecf5a335
http://www.caritasem.com/?p=162


I couldn't overcome that problem, and I'm wondering how I can, but I
said, "hey cuda only requires glibc-2.7, so lets compile that". I went
ahead, and installed it into /share/apps/glibc-2.7. So here comes the
main question: how can I link CUDA C to the glibc-2.7 installed in
/share/apps ? Years ago, Tim Carlson has said "It is really not
practical to try and upgrade glibc to 2.5. You might want to try
installing a glibc 2.5 from source in /share/apps/glibc-2.5 and then
use LD_PRELOAD to load that library in for you CMAQ binary.", but I
don't know how to use LD_PRELOAD, and I would appreciate any
guideline.
[换成2.8]
[root@banggo ~]#
wget http://ftp.gnu.org/pub/gnu/glibc/glibc-2.8.tar.gz
tar zxvf glibc-2.8.tar.gz
cd glibc-2.8
mkdir glibc-2.8-build
退出去在别的目录执行如下编译
/usr/src/glibc-2.8/configure --prefix=/usr/src/glibc-2.8/glibc-2.8-build/
make
make install


继续执行刚才的check_system
[root@banggo memsqlbin]# ./check_system
Warning: The version of CentOS that you're using (5.5) is too low.
MemSQL supports versions 6.0 and up.
/home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++: /lib64/libc.so.6: version 'GLIBC_2.11' not found (required by /home/manchun/memsqlbin/objdir/usr/local/bin/memsql-g++)
【】我不得不承认,我out了,仔细一看,原来需要centos 6.0的。



2 重新安装
wget http://download.memsql.com/814d3816f4084953833243fbf6c40d37/memsqlbin_amd64.tar.gz
tar xvfz memsqlbin_amd64.tar.gz
cd memsqlbin
./check_system
报错如下:
Warning: The recommended configuration for MemSQL is at least 8 GB of RAM


【】解决方案:
let "mem_mb=$(free -m | sed -n -e '/^Mem:/s/^[^0-9]*\([0-9]*\) .*/\1/p')";
if [ $mem_mb -lt 1000 ]; then
echo "Warning: The recommended configuration for MemSQL is at least 1 GB of RAM" 1>&2
invalid='1'
fi


[root@memdb memsqlbin]# ./check_system
System check successful

3 登陆测试
[root@memdb memsqlbin]# ./memsqld --port 3308
299691 2012-06-27 13:26:26 WARNING: SSE4.2 is not supported. Resorting to software CRC32C.
497378 2012-06-27 13:26:27 INFO: Log level changed to 0
120627 13:26:27 [ERROR] Fatal error: Please run MemSQL as a non-root user or specify -u root on the command line.


120627 13:26:27 [ERROR] Aborting


120627 13:26:27 [Note] ./memsqld: Shutdown complete


[root@memdb memsqlbin]# ./memsqld -u root --port 3308
292356 2012-06-27 13:26:54 WARNING: SSE4.2 is not supported. Resorting to software CRC32C.
480363 2012-06-27 13:26:55 INFO: Log level changed to 0
120627 13:26:55 [Note] ./memsqld: ready for connections.
Version: '1b' socket: '/tmp/memsql.sock' port: 3308




4 客户端使用
[root@memdb ~]# mysql -uroot -p -h 127.0.0.1 -P3308 --prompt="MemSQL> "
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 253
Server version: 5.5.8 MemSQL source distribution


Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MemSQL>
MemSQL> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| memsql |
+--------------------+
2 rows in set (0.00 sec)


MemSQL> use memsql;
Database changed
MemSQL> show tables;
Empty set (0.00 sec)


MemSQL> use information_schema;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed
MemSQL> show tables;
+---------------------------------------+
| Tables_in_information_schema |
+---------------------------------------+
| CHARACTER_SETS |
| COLLATIONS |
| COLLATION_CHARACTER_SET_APPLICABILITY |
| COLUMNS |
| COLUMN_PRIVILEGES |
| ENGINES |
| EVENTS |
| FILES |
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| KEY_COLUMN_USAGE |
| PARAMETERS |
| PARTITIONS |
| PLUGINS |
| PROCESSLIST |
| PROFILING |
| REFERENTIAL_CONSTRAINTS |
| ROUTINES |
| SCHEMATA |
| SCHEMA_PRIVILEGES |
| STATISTICS |
| TABLES |
| TABLESPACES |
| TABLE_CONSTRAINTS |
| TABLE_PRIVILEGES |
| TRIGGERS |
| USER_PRIVILEGES |
| VIEWS |
+---------------------------------------+
28 rows in set (0.00 sec)


MemSQL>


库名字很mysql一模一样啊,好惊奇啊,居然information_schema都有,而且里面的表名字也是一模一样的。

5 配置文件
看看memsql有没有跟mysql类似的配置文件呢,如下,果然找到了
[root@memdb memsqlbin]# ll /root/memsqlbin/memsql.cnf
-rw-r--r--. 1 1001 1001 1026 6月 18 20:07 /root/memsqlbin/memsql.cnf



6 用户管理测试
-- 创建新账号
MemSQL> grant all on *.* to tim@'%' identified by "tim" with grant option;
Query OK, 1 row affected (0.01 sec)
MemSQL> exit
Bye
-- 重新登录,输入-p密码,进不去,不输入密码一回车,反倒进去了,怪哉!
[root@memdb memsqlbin]# mysql -utim -ptim -h 127.0.0.1 -P3308 --prompt="MemSQL> "
ERROR 1045 (28000): Access denied for user 'tim'@'localhost' (using password: YES)
[root@memdb memsqlbin]# mysql -utim -p -h 127.0.0.1 -P3308 --prompt="MemSQL> "
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 253
Server version: 5.5.8 MemSQL source distribution


Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MemSQL>




CREATE TABLE test (
id int(11) NOT NULL AUTO_INCREMENT,
excel_id varchar(100) NOT NULL,
rpt_id int(10) unsigned NOT NULL,
acc_std tinyint(3) unsigned NOT NULL,
prd_year int(10) unsigned NOT NULL,
prd_qtr tinyint(3) unsigned NOT NULL,
accumulate char(3) NOT NULL,
biz_cd tinyint(3) unsigned NOT NULL,
acc_cd tinyint(3) unsigned NOT NULL,
row_num int(10) unsigned NOT NULL,
col_num int(10) unsigned NOT NULL,
data_id int(10) unsigned NOT NULL,
data_trace mediumtext NOT NULL COMMENT 'trace信息',
trace_edit tinyint(1) NOT NULL,
upd_stmp timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (id)
) ;
分享到:
评论

相关推荐

    Python库 | memsql-collectd-0.1.0.tar.gz

    python库。 资源全名:memsql-collectd-0.1.0.tar.gz

    MemSQL7.0-Red Hat 发行版

    sudo rpm -ivh /tmp/memsql-toolbox-<version>.x86_64.rpm sudo rpm -ivh /tmp/memsql-client-<version>.x86_64.rpm sudo rpm -ivh /tmp/memsql-studio-<version>.x86_64.rpm 您无需memsql-server在此步骤中安装...

    最新 Red Hat Distribution MemSQL离线安装包

    1、memsql-client-1.0.0-7e30b698e9.x86_64.rpm(3.18MB) 2、memsql-server-6.7.14-fa416b0a53.x86_64.rpm(75.0MB) 3、memsql-studio-1.5.5-3fccd4337c.x86_64.rpm(16.0MB) 4、memsql-toolbox-1.0.6-19e4230c79...

    nyse-demo:MemSQL上的简单NYSE模拟器

    docker pull memsql/quickstartdocker run -d -p 3306:3306 -p 9000:9000 --name=memsql memsql/quickstart然后创建数据库架构: cat schema.sql | docker run -i --link=memsql:memsql memsql/quickstart memsql-...

    PyPI 官网下载 | memsql-2.3.1.tar.gz

    资源来自pypi官网。 资源全名:memsql-2.3.1.tar.gz

    MemSQL 7.0 Debian 发行版

    sudo dpkg -i memsql-client_<version>_amd64.deb sudo dpkg -i memsql-studio_<version>_amd64.deb sudo dpkg -i memsql-toolbox_<version>_amd64.deb 您无需memsql-server在此步骤中安装软件包。它将作为部署的...

    测试正常19E更新文件(万发易信化机阳光对接19E更新)

    测试正常19E更新文件(万发易信化机阳光对接19E更新)

    最新 Debian Distribution MemSQL离线安装包

    1、memsql-client_1.0.0_7e30b698e9_amd64.deb(3.18MB) 2、memsql-server_6.7.14_fa416b0a53_amd64.deb(74.9MB) 3、memsql-studio_1.5.5_3fccd4337c_amd64.deb(16.0MB) 4、memsql-toolbox_1.0.6_19e4230c79_...

    memsql-statsd:MemSQL Ops 的 statsd 插件

    $ npm install memsql-statsd 配置 您必须将以下基本配置信息添加到 StatsD 配置文件中。 { memsql : { host : "<MASTER>" , port : < MASTER> , user: " < MASTER> ", password: " < MASTER> ", database: ...

    memsql文档整理

    memsql架构和角色 表类型和特点 配置和优化

    deployment-docker:此存储库包含我们针对各种产品的官方部署Docker映像

    部署泊坞窗 该存储库包含我们针对各种产品的官方部署Docker映像。 如果您有贡献,请阅读CONTRIBUTING.md 。... --name memsql-ciab \ -e LICENSE_KEY= ${LICENSE_KEY} \ -e ROOT_PASSWORD= ${ROOT_PA

    Mycat-server-1.6.6.1 + MyCat-Web1.0

    可以大幅度降低开发难度,提升开发速度,在测试阶段,可以将一表定义为任何一种Mycat支持的存储方式,比如MySQL的MyASM表、内存表、或者MongoDB、LeveIDB以及号称是世界上最快的内存数据库MemSQL上。 MYCAT-WEB是...

    MemSQL可以为时间序列应用做些什么

    在MemSQL使用中,我们发现人们对时序数据库的场景非常感兴趣。当遇到以下情况时尤其如此:(1)高效率的事务获取,(2)低延迟查询和(3)高并发查询率。   在下文中,我将展示如何使用MemSQL用

    singlestore-spark-connector:MemSQL和Spark的连接器

    SingleStore Spark连接器版本:3.0.7入门您可以在Maven Central和spark-packages.org上找到连接器的最新版本。 该组是com.singlestore ,工件是... 示例版本号是: 3.0.7-spark-2.3.4 ,它是连接器的3.0.7版本

    Mycat-server-1.6.6.1

    Mycat发展到目前版本,已经不在是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、...比如MySQL的MyASM表、内存表、或者MongoDB、LeveIDB以及号称是世界上最快的内存数据库MemSQL上。

    ansible-memsql:使用 Ansible 在 VirtualBox 上部署 MemSQL Community Edition

    使用 Ansible 在 VirtualBox 上部署 MemSQL Community Edition 这使您可以在 Linux Ubuntu... 这将运行 Ansible playbook,它将 (a) 创建一个 Ubuntu VM (b) 下载 MemSQL CE (c) 提取并安装它 (d) 安装 MySQL 驱动程序

    Linux MyCat

    从定义和分类来看,MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的的Server,前端用户可以把它看作是...比如MySQL的MyASIM表、内存表、或者MongoDB、LevelDB以及号称是世界上最快的内存数据库MemSQL上。

    MyCat权威指南 更新于2018年7月25

    它是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的 Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以用 MySQL 原生(Native)协议与多个 MySQL 服务器...

    memSQL内存表控件

    内存表,运行速度优于kbmem,最重要的是支持SQL语句,懂行的拿去吧。

Global site tag (gtag.js) - Google Analytics