MemSQL 入门体验小记
1 看到MemSQL 的介绍后,花了几分钟浏览网站,阅读getting started并下载安装启动,在此小记。
2 MemSQL http://memsql.com/
其宣传Slogan 是 THE WORLD'S FASTEST DATABASE.YOUR DATA. ACCELERATED.
我们看到最多的中文介绍是 “由前Facebook工程师创办的MemSQL,号称世界上最快的分布式关系型数据库,兼容MySQL但快30倍,能实现每秒150万次事务。原理是仅用内存并将SQL预编译为C++。”
3 如何开始?
http://developers.memsql.com/docs/1b/guides/starting.html
- 点击右上角的下载链接 http://www.memsql.com/#download ,它会要求你提供email等信息,提交后返回一个license key和下载链接,我们下载developer版的即可。
- 安装
$ tar -xzf memsqlbin_amd64.tar.gz
$ cd memsqlbin
- 启动
$ ./check_system
$ ./memsqld
注:
- check_system会告诉系统是否满足需求,比如内核版本,OS版本,64位 等等
- 启动的时候,要加 -u root,否则会报fatal错误;如果你已经有mysql在运行,那么可能需要更改默认启动端口3306为其他端口,比如 3307
./memsqld -u root --port 3307
- 如果你的RAM没有8G,启动的时候会有警告,但可以忽略。
- 测试
$ mysql -u root -h 127.0.0.1 -P 3306 --prompt="memsql> "
注: 这里-h不要使用localhost,用 127.0.0.1
进入命令行后就是标准的mysql客户端了。
memsql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| memsql |
+--------------------+
2 rows in set (0.00 sec)
建库:
memsql> create database chris001;
Query OK, 0 rows affected (0.08 sec)
memsql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| memsql |
| chris001 |
+--------------------+
3 rows in set (0.00 sec)
建表:
memsql> use chris001;
Database changed
memsql>
memsql> create table tab001 (id int primary key, name varchar(100), memo varchar(200),num int);
Query OK, 0 rows affected (6.71 sec)
memsql>
memsql>
memsql> show tables;
+--------------------+
| Tables_in_chris001 |
+--------------------+
| tab001 |
+--------------------+
1 row in set (0.00 sec)
memsql> desc tab001;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
| name | varchar(100) | YES | | NULL | |
| memo | varchar(200) | YES | | NULL | |
| num | int(11) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
插入数据后查询:
memsql> insert into tab001 values (1,'chris','xxx',100);
Query OK, 1 row affected (1.82 sec)
memsql>
memsql>
memsql> select * from tab001;
+----+-------+------+------+
| id | name | memo | num |
+----+-------+------+------+
| 1 | chris | xxx | 100 |
+----+-------+------+------+
1 row in set (0.71 sec)
memsql> select * from tab001;
+----+-------+------+------+
| id | name | memo | num |
+----+-------+------+------+
| 1 | chris | xxx | 100 |
+----+-------+------+------+
1 row in set (0.00 sec)
memsql> select * from tab001;
+----+-------+------+------+
| id | name | memo | num |
+----+-------+------+------+
| 1 | chris | xxx | 100 |
+----+-------+------+------+
1 row in set (0.00 sec)
memsql> select * from tab001;
+----+-------+------+------+
| id | name | memo | num |
+----+-------+------+------+
| 1 | chris | xxx | 100 |
+----+-------+------+------+
1 row in set (0.00 sec)
memsql> select count(0) from tab001;
+----------+
| count(0) |
+----------+
| 1 |
+----------+
1 row in set (0.63 sec)
memsql>
memsql> select count(0) from tab001;
+----------+
| count(0) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
memsql> select count(0) from tab001;
+----------+
| count(0) |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
查询的时候,服务端会打出日志:
136674795 2012-06-19 10:02:31 INFO: Table chris001.tab001 compiled in 6709 miliseconds (3185 miliseconds for header)
136678436 2012-06-19 10:02:31 INFO: Table chris001.tab001 row size 80 bytes (base overhead 32 bytes, column id 4 bytes, column name 12 bytes, column memo 12 bytes, column num 8 bytes)
186966810 2012-06-19 10:03:21 INFO: Query chris001.'insert into tab001 values (?,?,?,?)' compiled in 1825 miliseconds
194366714 2012-06-19 10:03:29 INFO: Query chris001.'select * from tab001' compiled in 712 miliseconds
283342115 2012-06-19 10:04:58 INFO: Query chris001.'select count(0) from tab001' compiled in 632 miliseconds
从以上测试我们看到,两次查询的首次和之后时间对比:
select * from tab001; (0.71 sec) (0.00 sec)
select count(0) from tab001; (0.63 sec) (0.00 sec)
从日志可以知道,首次查询的耗时基本全都花在编译上了 。
- 关闭
$ killall memsqld
4 总结
引用 MemSQL 网站的介绍
MemSQL 写道
MemSQL places data into memory and translates SQL into C++ for the utmost optimization in query execution. This enables MemSQL to write and read data at incredible speeds, and by offering a relational interface, you can unify the data you’d normally store in a short-lived medium—cache or key-value store—and place it directly into a database along with your existing data.
附: 软硬件要求
支持的部署环境,必须 64位
Distribution
Minimum Version
Command
Amazon AMI |
2012.03 |
sudo yum install gcc-c++ |
CentOS |
6.0 |
sudo yum install gcc-c++ |
Debian |
6.0 |
sudo apt-get install g++ |
Fedora |
15 |
sudo yum install gcc-c++ |
OpenSUSE |
11.3 |
sudo zypper install gcc-c++ |
Red Hat |
6.1 |
sudo yum install gcc-c++ |
Ubuntu |
10.04 |
sudo apt-get install g++ |
硬件:
- Intel Core i3 or better processor
- At least 8GB RAM
注:测试时RAM没有8G会有警告,不影响使用。
- 大小: 116.7 KB
分享到:
相关推荐
对于必须在无法访问Internet的环境中部署的群集,请将以下MemSQL程序包下载到可以访问主部署计算机的设备上。 sudo dpkg -i memsql-client_<version>_amd64.deb sudo dpkg -i memsql-studio_<version>_amd64.deb ...
对于必须在无法访问Internet的环境中部署的群集,请将以下MemSQL程序包下载到可以访问主部署计算机的设备上。 sudo rpm -ivh /tmp/memsql-toolbox-<version>.x86_64.rpm sudo rpm -ivh /tmp/memsql-client-...
MemSQL 文档整理 MemSQL 是一款高性能的分布式关系数据库管理系统,支持实时数据分析和事务处理。下面是 MemSQL 的架构、角色、表类型、配置和优化等知识点。 架构 ---- MemSQL 的架构主要由三部分组成:...
标题中的"Python库 | memsql-collectd-0.1.0.tar.gz"指的是一个针对MemSQL数据库监控的Python插件,它被打包为tar.gz格式的压缩文件。这个插件名为`memsql-collectd`,版本是0.1.0。在描述中,我们得知这是一个...
标题中的“PyPI 官网下载 | memsql-2.3.1.tar.gz”表明这是一个在Python Package Index(PyPI)官方源上发布的开源软件包,名为“memsql”。这个软件包的版本是2.3.1,其压缩格式为tar.gz,这是一种常见的Linux/Unix...
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...
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内存表控件"是一个专为Delphi开发者设计的高效数据库解决方案,其核心特性在于它能够在内存中创建和管理表,从而提供比传统的基于硬盘的数据库系统如kbmem更快的运行速度。由于它支持SQL(结构化查询...
MemSQL StatsD 后端 这是的可插入后端,它将统计信息发送到 。 要求 版本 >= 0.3.0。 服务器。 安装 $ cd /path/to/statsd $ npm install memsql-statsd 配置 您必须将以下基本配置信息添加到 StatsD 配置文件中。...
简单的纽约证券交易所模拟器设置数据库要运行nyse-...shellnyse-demo容器入门: docker pull memsql/nyse-demo产生资料: docker run --link memsql nyse-demo gen.py每次运行时,都会生成大量新记录。运行主容器:
使用 Ansible 在 VirtualBox 上部署 MemSQL Community Edition 这使您可以在 Linux Ubuntu Server 14.04 LTS 上部署 MemSQL 社区版,使用 Vagrant 来管理 VM,并使用 Ansible 将 MemSQL 部署到它。 它已经在 Mac OS...
SingleStore Spark连接器版本:3.0.7入门您可以在Maven Central和spark-packages.org上找到连接器的最新版本。 该组是com.singlestore ,工件是singlestore-spark-connector_2.11 。 您可以使用以下命令将连接器添加...
Nikita把如今的时代比做是摩尔定律的尾声,指出如今的计算速度不会再像以前那么快,然而数据的发展速度却丝毫没有停止,同时数据的多样...在对比了Twitter的Strom和Cloudera的Impala技术之后,他详细介绍了MemSQL的...
MemSQL 服务器对象拦截器 (SOI) 与 (SOE) 具有相同的 API,旨在通过自定义功能扩展 ArcGIS Server。 SOI 在对 SOE 或服务器对象 (SO) 执行操作之前和/或之后拦截地图服务上的 REST 和/或 SOAP 调用。 思考 。 拦截器...
模型训练的过程中,作者使用了 MemSQL Table 存储特征向量。 特征向量提取 在模型训练后,下一步是从图像中提取特征向量。作者使用模型和图像生成特征向量,并将其存储在 MemSQL 表中。特征向量的存储结构包括图像...
已安装MemSQL软件包 cia memsql服务器,singlestoredb-studio,singlestoredb-toolbox 恰巴雷德哈特 memsql服务器,singlestoredb-studio,singlestoredb-toolbox 动态节点 (没有) 节点 memsql服务器 节点红帽...
标题中的“测试正常19E更新文件(万发易信化机阳光对接19E更新)”表明这是一个针对19E版本的系统或应用进行的更新包,主要用于万发易信化机与阳光系统的对接。这暗示了我们讨论的是一个软件升级过程,涉及两个关键...