Owl is a db manager platform,committed to standardizing the data, index in the database and operations to the database, to avoid risks and failures.

简体中文 | English

What is Owl

Owl is a db manager platform,committed to standardizing the data, index in the database and operations to the database, to avoid risks and failures.
capabilities which owl provides include Process approval、sql Audit、sql execute and execute as crontab、data backup and recover .

Features

  • Process approval:approval or reject sql process order:developer submit、system check、dba check、exec sql.
  • sql Audit:check sql by some rules, which are Predefined. There are rules like: standardizing name、'null' value not allowed、index match check、 data change affect lines limit, and so on.
  • sql execute and execute as crontab: After sql audit and approve, the admin can execute sql, or set a feature time to execute sql.
  • data backup and recover:Before the data is changed, it will be backup, and you can recover it if something is wrong.

for more information introduction

Develop and deployment

WEB Address

owl_web

Dependency

  • go 1.3+

  • tidb or mysql

  • node

  • yarn (npm)

Config file

  • config file's location can be set by env-param("config_path") or set in main function. default location is "./config/config.yml".
  • in default value, mv '/config/config-example.yml' to '/config/config.yml' can make config work.
  • at last, still need to change config about database, env and so on.

DB init

  • create database: CREATE DATABASE `owl`; use owl
  • create table:use mysql client connect db , copy sql in build_table.sql and execute.
  • init first admin: insert into owl_admin (username,description) values ('your ldap name','first admin');

Build and run

# build back end
make build

# build linux back end
make build-linux

# build front and set to static dir
make build-front

# start; if need UI, exec 'make build-front' first
make run

# build docker image, if  need UI, exec 'make build-front' first
make build-docker

# run as docker container
make run-docker

Getting Started

quick start

Become a contributor

  • Contribute to the codebase.
  • Contribute to the docs.
  • Report and triage bugs by issue.
  • Write technical documentations and blog posts, for users and contributors.

License

Apache 2.0 License

Similar Resources

Efficient cache for gigabytes of data written in Go.

BigCache Fast, concurrent, evicting in-memory cache written to keep big number of entries without impact on performance. BigCache keeps entries on hea

Jan 4, 2023

:handbag: Cache arbitrary data with an expiration time.

cache Cache arbitrary data with an expiration time. Features 0 dependencies About 100 lines of code 100% test coverage Usage // New cache c := cache.N

Jan 5, 2023

Distributed reliable key-value store for the most critical data of a distributed system

etcd Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order

Jan 9, 2023

VectorSQL is a free analytics DBMS for IoT & Big Data, compatible with ClickHouse.

NOTICE: This project have moved to fuse-query VectorSQL is a free analytics DBMS for IoT & Big Data, compatible with ClickHouse. Features High Perform

Jan 6, 2023

datatable is a Go package to manipulate tabular data, like an excel spreadsheet.

datatable is a Go package to manipulate tabular data, like an excel spreadsheet.

datatable is a Go package to manipulate tabular data, like an excel spreadsheet. datatable is inspired by the pandas python package and the data.frame R structure. Although it's production ready, be aware that we're still working on API improvements

Nov 23, 2022

This is a mongodb data comparison tool.

mongo-compare This is a mongodb data comparison tool. In the mongodb official tools, mongodb officially provides a series of tools such as mongodump,

Sep 13, 2022

BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support

BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support

BuntDB is a low-level, in-memory, key/value store in pure Go. It persists to disk, is ACID compliant, and uses locking for multiple readers and a sing

Dec 30, 2022

The Prometheus monitoring system and time series database.

Prometheus Visit prometheus.io for the full documentation, examples and guides. Prometheus, a Cloud Native Computing Foundation project, is a systems

Dec 31, 2022

Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.

Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics.

unitdb Unitdb is blazing fast specialized time-series database for microservices, IoT, and realtime internet connected devices. As Unitdb satisfy the

Jan 1, 2023
Comments
  • 如果贵司正在使用Owl

    如果贵司正在使用Owl

    首先,非常感谢了解和尝试使用Owl,我们会尽最大努力使Owl变得更好。

    这个issue的目的

    • 收集社区意见,完善Owl
    • 吸引更多伙伴共同优化Owl

    我们的期望

    希望能够简单回答下列问题:

    • 使用Owl的公司?
    • 公司所在城市及行业?
    • Owl尚不满足的需求?

    可以参考下列模板:

    公司:读我科技 城市:北京 行业: 在线教育 需求:支持读数据及权限控制

    再次感谢对Owl的了解和使用。

  • sql语法检测问题

    sql语法检测问题

    现象:

    语句带有中文格式的逗号,owl通过tidb parser检测语法和规则,检测结果是通过的(检测存在bug) image

    建议解决方案:

    语法检测时,该语句通过tidb parser检测语法是通过的,vitess检测是报错的 image 所以在“提交检测”时,除了tidb parser对sql进行语法检测时,建议在此处增加vitess对sql语法的检测 image

  • 使用vitess解析识别不了DDL

    使用vitess解析识别不了DDL

    switch audit.Stmt.(type) {
    case *sqlparser.DDL:
      -> vitess的新包中应为:sqlparser.DDLStatement
    

    当表的命名以数字开头,如:1b_order_xxx111info1 ,不能识别为DDLStatement

    pingcap的ast支持

    switch audit.TiStmt[0].(type) {
    case ast.DDLNode:
    
Related tags
Lightweight RESTful database engine based on stack data structures
Lightweight RESTful database engine based on stack data structures

piladb [pee-lah-dee-bee]. pila means stack or battery in Spanish. piladb is a lightweight RESTful database engine based on stack data structures. Crea

Nov 27, 2022
Membin is an in-memory database that can be stored on disk. Data model smiliar to key-value but values store as JSON byte array.

Membin Docs | Contributing | License What is Membin? The Membin database system is in-memory database smiliar to key-value databases, target to effici

Jun 3, 2021
This is a simple graph database in SQLite, inspired by "SQLite as a document database".

About This is a simple graph database in SQLite, inspired by "SQLite as a document database". Structure The schema consists of just two structures: No

Jan 3, 2023
Hard Disk Database based on a former database

Hard Disk Database based on a former database

Nov 1, 2021
Simple key value database that use json files to store the database

KValDB Simple key value database that use json files to store the database, the key and the respective value. This simple database have two gRPC metho

Nov 13, 2021
a go client for distributed transaction manager DTM. go语言分布式事务管理器DTM的客户端SDK

a client for distributed transaction manager dtm dtmcli 是分布式事务管理器dtm的客户端sdk dtmcli 这个库的代码与dtm下的dtmcli代码保持完全同步,如果您需要线上使用,那么当前的dtmcli相关的依赖非常少,对于最终打包的镜像也

Nov 14, 2022
Nipo is a powerful, fast, multi-thread, clustered and in-memory key-value database, with ability to configure token and acl on commands and key-regexes written by GO

Welcome to NIPO Nipo is a powerful, fast, multi-thread, clustered and in-memory key-value database, with ability to configure token and acl on command

Dec 28, 2022
A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.

NutsDB English | 简体中文 NutsDB is a simple, fast, embeddable and persistent key/value store written in pure Go. It supports fully serializable transacti

Jan 1, 2023
Distributed cache and in-memory key/value data store.

Distributed cache and in-memory key/value data store. It can be used both as an embedded Go library and as a language-independent service.

Dec 30, 2022
Mantil-template-form-to-dynamodb - Receive form data and write it to a DynamoDB table
Mantil-template-form-to-dynamodb - Receive form data and write it to a DynamoDB table

This template is an example of serverless integration between Google Forms and DynamoDB

Jan 17, 2022