宇宙湾

厚积薄发

介绍

InfluxDB™ is a time series database designed to handle high write and query loads. It is an integral component of the TICK stack. InfluxDB is meant to be used as a backing store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics.

基本概念

DataBase

 类似于传统数据库中的 DataBase 概念

Measurement

 和 OLAP 中广义上的度量概念一致,部分 OLAP 数据库中又称为 Metric

Tag

 和 OLAP 中广义上的维度概念一致,部分 OLAP 数据库中又称为 TagKV

Field

 数值

Timestamp

 时间戳

Points

 数据点

Series

 数据点组成的序列

Retention Policy

 数据过期策略,即 TTL

阅读全文 »

Apache Superset 是什么?

Apache Superset™ is a modern data exploration and visualization platform.

基础组件

Flask

 Python 几大著名 Web 框架之一,以其轻量级,高可扩展性而著名

  • Jinja2
    模板引擎

  • Werkzeug
    WSGI 工具集

Gunicorn

 Gunicorn 是一个开源的 Python WSGI HTTP 服务器,移植于 Ruby 的 Unicorn 项目的采用 pre-fork 模式的服务器

WSGI

 WSGI,即 Python Web Server Gateway Interface,是专门用于 Python 应用程序或框架与 Web 服务器之间的一种接口,没有官方的实现,因为 WSGI 更像一个协议,只要遵照这些协议,WSGI 应用都可以在 任何服务器上运行,反之亦然

Pre-Fork

 一个进程处理一个请求,基于 select 模型,所以最多一次创建 1024 个进程
 预先创建进程,pre-fork 采用的是预派生子进程方式,用子进程处理不同的请求,每个请求对应一个子进程,进程之间是彼此独立的
 一定程度上加快了进程的响应速度

阅读全文 »

介绍 Apache HBase 的基本概念、环境部署、常用命令、实战技巧、架构设计和性能优化,并记录了一些踩过的坑,及其解决方案。

阅读全文 »

Apache Calcite 是什么?

Apache Calcite™ is a dynamic data management framework.

Calcite Mountain

(图片来源:Pixabay™ 官网,已确认无版权)

基本概念

Catelog

 用于定义 SQL 语义相关的元数据与命名空间

SQL Parser

 负责将 SQL 转化成 AST(Abstract Syntax Tree)

SQL Validator

 负责通过 Catalog 对 AST 进行校证

Query Optimizer

 负责将 AST 转化成物理执行计划、优化物理执行计划

SQL Generator

 负责将物理执行计划反向转化成 SQL 语句

特性

  • 支持标准 SQL 语言
  • 通过适配器(Adapter)可以支持连接任何数据源
  • 支持丰富的关系代数(并集、交集、连接、笛卡尔积等)
  • 支持对逻辑规划规则进行定制(例如 Filter 下推)
  • 支持成本模型优化(CBO, Cost-Based Optimizer 和 RBO, Rule-Based Optimizer)
  • 支持管理物化视图(Materialized view
  • 支持查询流式数据
  • 稳定可靠(开发迭代 10 年以上)
  • 已贡献给 Apache 基金会(于 2013 年)
  • 开源社区活跃(Apache Druid、Apache Hive、Apache Drill、Apache FlinkApache Phoenix 等项目均在使用)
Apache Calcite 借助开源的 JavaCC 完成 SQL 解析,将 SQL 语句转化为 Java 代码
Apache Calcite 还使用了轻量级 Janino 编译运行时 Java 代码,以便灵活地管理元数据
阅读全文 »