首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

在 IBM SoftLayer 中使用 VoltDB 数据库执行实时分析(3)

在 IBM SoftLayer 中使用 VoltDB 数据库执行实时分析(3)

在 SoftLayer 中开发和运行一个 VoltDB 应用程序National Best Bid and Offer (NBBO) 应用程序是一个示例应用程序,用于演示 VoltDB 的工作原理。NBBO                显示了一个特定证券在所有参与市场中的最低卖价和最高买价。证券经纪人尝试将交易订单路由到具有最佳价格的市场,并依照法律向客户保证这个最佳价格。该示例包括一个 Web                仪表板,用于显示证券的实时 NBBO 和来自每个交易所的最新价格。
NBBO 包含一个 VoltDB 数据库模式,用于存储每个市场数据涨跌,只要最佳买价或卖价发生更改,就会插入一条新的 NBBO                记录。此记录用于向用户(比如仪表板或其他应用程序)提供当前的 NBBO,或根据需要提供 NBBO 变化的历史数据。
要理解 VoltDB 的工作原理,可以下载并使用这个 NBBO 示例应用程序。
  • 从 GitHub  NBBO 应用程序。
  • 将该应用程序复制到 /opt/voltdb/examples 目录中。
  • 为您下载的 .zip 文件提供根用户权限。
  • 从命令行输入 unzip VoltDB-app-nbbo-0bd619d.zip 命令,以便解压 .zip                    文件中的文件。
  • 在应用程序文件夹中,输入 cd VoltDB-app-nbbo-0bd619d 并查找 VoltDB-app-nbbo-0bd619d                    文件。
  • 输入 ./run.sh start_web 来启动 SoftLayer VM 内的 Web 服务器。您的控制台中会显示消息                        http server is already running (PID:7701)。
  • 打开 Firefox 并访问 http://ip:8081 来查看应用程序用户界面,其中 ip 是您安装 VoltDB                    的服务器的 IP 地址,如 图 4 所示。图 4. NBBO 演示
    因为我们没有启动应用服务器,所以您会看到消息 Starting database, this may take 30                            seconds...
  • 输入 cd /opt/voltdb/examples/voter 命令来启动该服务器,然后输入 /run.sh                        server 命令来运行该服务器。
  • 服务器运行后,输入 ./run.sh client 命令来查看客户端应用程序中的结果,如 清单 1 所示。清单 1. 连接到客户端
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    The VoltDB scripts are not in your PATH.
    For ease of use, add the VoltDB bin directory:

    /opt/voltdb/bin

    to your PATH.

    -----------------------------------------------------------
    Command Line Configuration
    -----------------------------------------------------------

    contestants = 6
    displayinterval = 5
    duration = 120
    latencyreport = false
    maxvotes = 2
    password =
    ratelimit = 2147483647
    servers = localhost:21212
    statsfile =
    user =
    warmup = 5

    -----------------------------------------------------------
    Setup & Initialization
    -----------------------------------------------------------

    Connecting to VoltDB...
    Connected to VoltDB node at: localhost:21212.




  • 刷新 Web 浏览器以查看最新结果,如 图 5 所示。图 5. 启动服务器后的 NBBO 演示
  • 单击屏幕右上角的 Catalog Report 来查看目录报告,如 图 6 所示。图 6. Catalog Report
  • 选择 Schema 来查看模式信息,如 图 7 所示。图 7. Schema
  • 要打开 VoltDB 控制台,在菜单中单击 Overview,如 图 8 所示。图 8. 打开 VoltDB 控制台
  • 选择 VoltDB Studio 来连接到 VoltDB Web Studio,如 图 9 所示。图 9. 连接到 VoltDB Studio
  • 单击 Connect,您会获得指定连接细节的提示,比如 VoltDB 服务器的用户名和密码,如 图 10 所示。在 User name 字段中输入                        root,在 User name 字段中输入 xxxxx,然后单击                        OK。图 10. 所需的连接信息
您与 VoltDB 数据库的连接已建立,如 图 11 所示。
图 11. 与 VoltDB 数据库建立连接 要检查速度,可以输入一个命令,在 1 秒内就能看到结果。如果没有 VoltDB,响应需要花几秒钟的时间。有了 VoltDB,响应时间不到 1 秒,如图 12 所示。
图 12. 查询持续时间现在,让我们看看输出复杂查询的结果要花多长时间,如 图 13 所示。
图 13. 发起查询清单 2 中的复杂查询和 图 14中所示的结果不到 1 秒就会闪回一次。
清单 2. 复杂查询
1
2
3
4
SELECT a.contestant_name AS contestant_name , a.contestant_number AS contestant_number ,
SUM(b.num_votes) AS total_votes FROM v_votes_by_contestant_number_state AS b , contestants AS a WHERE
a.contestant_number = b.contestant_number GROUP BY a.contestant_name ,
a.contestant_number ORDER BY total_votes DESC , contestant_number ASC , contestant_name ASC;




图 14. 复杂查询的结果
返回列表