云环境中越来越多地使用流程和数据密集型应用程序。 云概念正在发生变化,将其定位为满足各种IT需求的一站式解决方案。 随着当前数据收集的指数增长,高质量的数据分析算法比比皆是。 云引发的基础架构优化通过许多机制在不断增加,例如:
- 合并
- 集权
- 联邦
- 虚拟化
- 货柜化
- 商品化
- 工业化
我们有基于策略和软件定义的抽象,自动化,标准化和简化方法。 这些提供了自适应,即时启动和优化的基础架构(服务器,存储和网络元素)。 为了优雅地在弹性云中托管和运行,并满足大数据世界的各种需求,我们提供了出色的IT解决方案:通用的内存计算,NoSQL和NewSQL数据库以及并行文件系统。
Aerospike是一个从头开始建立的开源数据库,旨在推动闪存,处理器和网络的极限。 它旨在在高吞吐量下以可预测的低延迟运行,并具有不折不扣的可靠性-高可用性和ACID保证。 Aerospike是:
- 以线速运行的内存中NoSQL数据库和键值存储。
- 无需合并用于分片和集群更改的逻辑,因此能够大大简化您的工作负载。
- 改变游戏规则的数据库解决方案,消除了数据丢失或停机的烦恼。
- 以内存速度和全球规模运行,并具有企业级的可靠性。
- 非常适合必须立即感知和响应的实时大数据或上下文驱动的应用程序。
在本文中,学习如何将Aerospike迁移到IBM SoftLayer云环境并对其进行配置以满足您的需求。 一个示例应用程序展示了Aerospike在利用数据密集型工作负载方面的功能。
实时分析对内存计算的需求
数据处理系统,应用程序和产品(SAP)SE公司拥护其HANA平台来运营整个公司,其中包括:
- 关键任务交易应用程序,例如ERP和CRM。
- 以前由单独的数据库管理系统(DBMS)处理的分析需求是支撑数据仓库和数据集市的基础。
IBM拥有用于DB2®的BLUAcceleration®,该技术将列压缩和内存处理结合起来以加速分析。 Teradata引入了智能内存功能,该功能可将最常查询的数据自动移动到RAM中,以确保最快的查询响应速度。
毫无疑问,Aerospike领导着促进内存中NoSQL数据库的产品组合。 SAP的全内存HANA平台与Aerospike之间存在重大的技术差异,该平台吹捧其无中断部署的内存选项(无需翻录和替换现有应用程序)。 我们的重点是探索业务环境中对速度的需求。 几家企业声称内存速度的需求是真实存在的,随后的业务收益可能是巨大的。
关于Aerospike
相同的Aerospike服务器可以横向扩展以形成无共享群集,该群集透明地对数据进行分区并跨节点并行处理。 集群中的节点是相同的; 您可以从两个开始,而只需添加更多硬件。 群集线性扩展。
用例
Aerospike是一个键值存储,通常用作缓存或具有持久性的上下文存储。 上下文存储可用于:
- 服务器端会话存储
- 饼干店
- 设备ID存储
- ID映射
- 用户首选项或用户个人资料,以提出实时建议并个性化Web门户上的用户体验
- 电子商务
- 旅游网站
Aerospike还是跨展示广告,移动,视频,社交媒体,游戏,本地广告和互联网电视的实时竞标平台的首选数据库。
-
对于大数据应用
- 当人们访问网站并使用移动应用程序单击,滑动或喜欢时,他们会留下大量的大数据,其中包括:页面视图和来自他们所穿事物的传感器数据,例如活动跟踪器; 以及他们拥有的东西,例如家中的光线,烟雾和温度传感器。 新一代应用程序正在使用此数据或上下文来预测需求并做出预测。 对于上下文驱动的应用程序
- 上下文驱动的应用程序包括数字广告,多渠道营销,电子邮件营销,动态内容服务,身份管理,跨渠道支持和忠诚度管理平台。 常见的应用程序包括:旅行门户,具有动态产品定价和库存管理的电子商务门户,电子商务搜索和个性化产品推荐,网络安全,欺诈检测以及类似的应用程序。
Aerospike用于大数据分析
当今的Web规模企业级应用程序体系结构通常由Aerospike组成,位于Web应用程序层之后,传统DBMS或HDFS群集之前。 大量(即PB)的存档和历史数据存储在低成本的旋转驱动器上。 来自“ HDFS分析”的见解或细分会定期移入Aerospike。 这些见解然后与存储在RAM或Aerospike上的闪存中的TB级实时数据结合在一起。 应用程序使用此丰富的用户上下文以及Aerospike中的“热分析”(即大规模分布式聚合)来做出最佳决策和建议。
您还可以将Aerospike配置为存储最新数据,并自动使旧数据过期或过期。 图1显示了基于Aerospike的大数据分析的架构。
图1.基于Aerospike的大数据分析的架构
Aerospike是一种行存储,其中数据存储在记录(键值)中,并分组为集合和名称空间(表)。 每个128K-2MB记录都可以包含可以立即更改的值(映射,列表,整数,字符串,blob类型)。
样品申请
我们的示例应用程序显示,键值存储之上的Aerospike数据结构是使用Aerospike作为唯一数据库编写应用程序的有效方法。 该示例描述了类似Twitter的应用程序的设计和实现。 该代码易于理解,但足够坚固,可以用作利用Aerospike技术的基础。 您还可以将样本用作扩展的种子应用程序。
示例应用程序的先决条件:
- Aerospike服务器
- Aerospike Java™软件包客户端
IBM SoftLayer云中Aerospike的最低要求
-
记忆体(RAM)
- 您将需要4GB的RAM。 由于索引存储在内存本身中,因此内存量将限制硬件可以存储的行数。 Aerospike的内存效率很高,每一行(对象或记录)仅需要64字节的内存来存储索引。 每GB内存可以索引1600万行,而4GB内存配置只能索引6400万个对象。 出于开发目的,您可以提供少至2GB的RAM。 中央处理器
-
您将需要一个四核CPU。
尽管不直接依赖于CPU,但您可能会发现CPU因系统中断而很快饱和。
我们的示例使用8GB的RAM,因为我们将在单个节点上安装Aerospike实例和Aerospike管理控制台。
(可以选择在不同的节点上安装Aerospike和管理控制台,因此如果需要,我们可以选择两个节点。)
您需要通过SoftLayer门户从IBM SoftLayer云中获得VM。 VM的最低配置是8GB RAM,25GB磁盘存储和两个内核。 这适用于所有主要的Linux发行版。 我们的概念证明(PoC)示例应用程序是使用CentOS 64位实现的。
主机名
-
aerospikepoc.softlayer.com
地址:10.76.60.39 / 184.173.49.2
用户
- 根/ xxxxxx
安装Aerospike
要安装Aerospike,请打开您的VM会话,然后按照以下步骤操作。
- 在命令行中,输入清单1中的命令。
清单1.获取aerospike.tgz文件
cd /usr wget -O aerospike.tgz 'http://aerospike.com/download/server/latest/artifact/el6'
屏幕上应显示HTTP请求和连接消息,如下例所示。
- 您应该在/ usr目录中的主机中看到aerospike.tgz文件,如图2所示。
图2. / usr目录中的aerospike.tgz文件
在安装Aerospike 之前 ,您必须:
- 关闭SELinux。 在命令行中,输入
SELINUX=disabled
,如下所示。 - 关闭IPTables。 在命令行中,如下所示输入
chkconfig iptables off
,然后输入iptable stop
。 - 打开NTP。 在命令行中,输入清单2中所示的命令。
清单2.打开NTP
sudo /sbin/chkconfig ntpd on sudo ntpdate pool.ntp.org /etc/init.d/ntpd start
- 转到Aerospike目录。 在命令行中,输入
cd /usr
命令。 - 提取aerospike.tgz。 在命令行中,输入
tar -xvf aerospike.tgz
命令。 您将在软件包中看到工具,文件和许可证的简短列表。
安装并启动Aerospike服务器和工具
要安装Aerospike服务器和工具包:
- 在命令行中,输入清单3中的命令。
清单3.开始安装Aerospike
cd /usr/aerospike-server-community-3.4.1-el6 ./asinstall
安装Python,许可证,文件和组后,您会在屏幕上看到消息。
安装完成后,服务器应已准备好与默认配置文件一起使用。 (有关更多详细信息,请参见目录结构。)
- Aerospike使用几个目录来存储工具,系统文件和数据文件。 要获取使用目录的描述或手动管理文件(它们通常通过Aerospike工具进行管理),请从命令行输入
/opt/aerospike
aerospike。
通过Linux软件包管理安装时,Aerospike目录由Aerospike软件包创建和管理。 它包含几个子目录,其中一些是由工具包创建的,而另一些是由服务器包创建的,并在服务器运行时维护。 如下所示,包括bin,data,doc,examples,lib,cmd,sys和usr。
要启动Aerospike服务器,请从命令行输入清单4中的命令。
清单4.启动Aerospike服务器
cd /etc/init.d
./aerospike start
在屏幕上,您会看到类似于以下内容的列表:abrt-ccpp,abrtd,abrt-oops,acpid,aerospike,atd,audited,blk-availability,cpuspeed,crond,functions,haldaemon,halt,htcacheclean,HTTPd, ip6tables,iptables和irqbalance。
要检查服务器状态,请从命令行输入/aerospike status
。
安装Aerospike客户端Java软件包
要安装Aerospike客户端Java软件包,可以使用WinSCP工具将aerospike-client-java-3.0.33.tgz软件包复制到/ usr目录。 要提取软件包,请tar -xvf aerospike-client-java-3.0.33.tgz
输入tar -xvf aerospike-client-java-3.0.33.tgz
。
安装Aerospike管理控制台手册
从Aerospike文档网站下载包含Aerospike管理控制台(AMC)手册的文件 ,然后使用WinSCP工具通过输入清单5中的命令将其移动到/ usr目录。
清单5.将文档放在/ usr目录中
cd /usr
yum install aerospike-amc-community-3.5.0-el5.x86_64.rpm
您将看到正在安装的插件和已解决的依赖关系。
启动AMC服务器
要启动AMC服务器,请转到amc目录,然后从命令行输入清单6中的命令。
清单6.启动AMC服务器
cd /etc/init.d
./amc start
要检查AMC服务器的./amc status
,请从命令行输入./amc status
。 输出显示AMC正在运行。
现在,您可以通过输入清单7中的命令来启动Aerospike服务器。
清单7.启动Aerospike服务器
cd /etc/init.d
./aerospike start
./aerospike status
之后,在浏览器中使用URL http://184.173.49.2:8081 ; 这将打开图3所示的窗口。
图3.连接到节点
输入Host Name
或IP
然后单击“ 连接”以查看Aerospike仪表板,如图4和图5所示。
图4. Aerospike仪表板
图5. Aerospike仪表板,续
使用Aerospike
在Aerospike主仪表板屏幕的顶部,您可以从以下选项中选择(企业版将具有其他页面):
- 仪表板
- 统计
- 定义
- 工作
单击窗口右上方的“ 更改集群”链接以监视另一个集群。
您可以通过更改Snapshot for last值来更改正在绘制的时间间隔。 图6中的统计板显示了结果。
图6.统计视图
在塞式仪表板的顶部选择定义看到一个命名空间的定义中,如示于图7。
图7.定义仪表板
您可以使用系统监视器来检查集群的运行状况。 在VM命令行中,输入asmonitor
命令。 示例输出显示了在群集中创建了一个初始配置文件和一个主机:10.76.60.39:3000。
输出显示三种类型的监视器:
-
info
,这是有关Aerospike集群的高级信息。 -
latency
,它提供有关集群吞吐量和延迟的详细信息。 -
printconfig
,显示节点的配置(其实际输出)。
要离开监视器部分,请从VM命令行输入exit
命令。
将测试数据添加到Aerospike中
要将测试数据添加到Aerospike,请输入清单8中的命令。
清单8.将测试数据添加到Aerospike
ascli put <ns> <set> <key> <record>
ascli put test testset testkey1 '{"name": "John"}'
根据输入到磁盘中的数据和RAM的使用情况,使用情况将发生变化,如图8所示。 群集吞吐量(隐藏)也将显示一些变化。
图8.群集磁盘使用情况
行政任务
要启动Aerospike服务器,请从命令行输入sudo service aerospike start
。
要验证Aerospike是否正在运行,请从命令行输入sudo service aerospike status
。
AMC服务器任务
要启动AMC,请从命令行输入sudo /etc/init.d/amc start
。
要停止AMC服务器,请从命令行输入sudo /etc/init.d/amc stop
。
要重新启动AMC服务器,请从命令行输入sudo /etc/init.d/amc restart
。
要查看AMC服务器是否已启动并正在运行,请从命令行输入sudo /etc/init.d/amc status
。
要更改密码,请从命令行输入清单9中的命令。
清单9.更改密码
sudo /opt/amc/bin/reset_password [-u <username>] [-p <password>]
此命令中的选项是:
-
-u
:可选的用户名(目前仅允许使用admin
)。 -
-p
:可选的新密码。 如果未指定,则默认密码为admin
。
要查看服务器日志,请从命令行输入清单10中的命令。
清单10.查看服务器日志
var/log/aerospike/aerospike.log
grep cake /var/log/aerospike/aerospike.log
结论
对海量,流式和多结构数据进行实时分析并不容易。 我们需要多方面的解决方案和平台。 提取关于大而快速的数据的可行见解对于产品供应商而言是一项严峻的挑战。
Aerospike是一种创新的解决方案,可在不影响任何技术要求的情况下简化和简化实时分析。 借助Aerospike,您可以在开始大数据实时分析之前完全确保性能,可用性,可扩展性和安全性。 Aerospike的主要区别在于系统内存中的NoSQL数据库,该数据库允许实时数据分析。
翻译自: https://www.ibm.com/developerworks/analytics/library/ba-aerospike-trs/index.html