首页 > 数据库 >数据库_DuckDB_概念梳理和发展趋势

数据库_DuckDB_概念梳理和发展趋势

时间:2023-06-06 16:33:40浏览次数:37  
标签:information 数据库 Vectors DuckDB GUI SQL 梳理 schema

数据库大致类型

 C/S关系型数据库引擎
      高并发 数据量超大 网络与应用程序分离
 	 MariaDB  MySQL, Oracle, PostgreSQL, 或者 SQL Server
 	 mysql :多线程SQL服务器组成的服务器/客户端体系结构-可伸缩性,安全性
 	 PostgreSQL使用称为多版本并发控制或MVCC的技术来维护数据并发访问期间的数据一致性
      
 本地化存储 
     嵌入式设备和物联网  数据分析 数据传送 文件归档/数据容器 替换自定义数据文件 教育与培训
 	桌面图形界面程序
       SQLite DuckDB 基于本地文件系统设计的,都有着完整的数据库体系(客户端、SQL解析器、SQL优化器和存储引擎等等)
	        So SQLite is good for OLTP and DuckDB is better for OLAP.
 	    缺乏用户管理和安全功能,无法被远程的客户端访问,适合单线程访问,对多线程高并发的场景不适用
 		缺乏细粒度访问控制以及除加密数据库文件本身之外的安全功能,在构建多用户或多租户应用程序时通常不受青睐。
 		 缺乏任何数据库即服务(DBaaS)产品

从使用用户来看

 个人操作数据库,那么经典的 CLI 或者像使用 Navicat 这样的 GUI SQL 客户端就能满足需
 需要和代码库集成-完善的项目协同能力-提供组织层面的管理能力-数据库变更变得更加稳定/高效 -保障企业中的数据安全和合规问题

解决命名冲突问题

 Catalog和Schema : Database, Catalog and Schema
 一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数 据库对象(表、视图、字段等
 Catalog名称.Schema名称.表名称
 select * from information_schema.schemata;
 SELECT name, lat, lonFROM mytest.main.cities;
 database_name :
                  system
 				  temp
 				  mytest
  schema_name: 
      information_schema 
	  pg_catalog 
	  main
      The CREATE SCHEMA statement creates a schema in the catalog. The default schema is main

查询meta数据

 The views in the information_schema are SQL-standard views that describe the catalog entries of the database. 
    
 meta-data:
   information_schema.schemata  information_schema.tables information_schema.columns
   
 implicit schemas :隐式  
 
 
  USE statement selects a database and optional schema to use as the default
   USE memory;
   USE duck.main;

性能分析(Profiling)

  EXPLAIN statement 
        logical_plan  Physical Plan	  
 Run-Time Profiling: EXPLAIN ANALYZE
 
数据库版本--数据存储版本
 DuckDB versions   Storage version	
 
升级数据库存储
  the older duckdb and using the SQL statement :  "EXPORT DATABASE 'tmp';
  newer duckdb: IMPORT DATABASE 'tmp';"
    /older/duckdb mydata.db     -c "EXPORT DATABASE 'tmp';"
    /newer/duckdb mydata.new.db -c "IMPORT DATABASE 'tmp';"	  

数据库开发

 Vector  : Flat Vectors   Constant Vectors   Dictionary Vectors  Sequence Vectors
    Unified Vector Format: String Vectors  List Vectors  Struct Vectors  Map Vectors  Union Vectors
 DataChunk: 	 

表格数据

 tabular data 	
   深度学习在文本和图像数据集上取得了巨大进步,但它在表格数据上的目前没有优势可言	 
  Snowflake 分离了计算和存储,而 MotherDuck 将计算接入存储 

软件交互范式的演进:从命令行到 GUI

从基于图形界面 (GUI) 的交互转到基于 Chat 的对话式自然语言交互
CLI---》 GUI
   CLI: CLI 交互大概从 70 年代流行到 1984 年	
   GUI: GUI 的发展则分了三个阶段,首先是 1984-1993 年是桌面端,1993-2007 年是 Web 端,2007 年到现在则是移动端
       navicat dbeaver 
   CUI: SQL Chat	 

 eg: 把 DevOps 带进数据库
    命令行客户端 CLI - mysql / psql	
    图形用户界面(GUI) -- phpMyAdmin 和 pgAdmin 是非常老牌经典的 SQL 客户端。	
                      DBeaver 已经支持把自然语言转换成 SQL
    数据库即代码(Database-as-Code): 把代码变更的流程引入到数据库变更
         文件命名方式来控制 schema 迁移行为(惯例高于配置
    Atlas 是一个数据库 schema 管理工具

 代码(无状态部分) 数据(有状态部分) 以及代码如何与数据交互		

参考

 数据库 schema与catalog	 https://www.cnblogs.com/ECNB/p/4611309.html 
 Why do tree-based models still outperform deep learning on tabular data? https://arxiv.org/abs/2207.08815
 https://github.com/antonycourtney/tad     : CSV, Parquet, and SQLite and DuckDb database files
 酷表ChatExcel https://chatexcel.com/
  https://sqlchat.ai/

标签:information,数据库,Vectors,DuckDB,GUI,SQL,梳理,schema
From: https://www.cnblogs.com/ytwang/p/17460935.html

相关文章

  • 基本常用命令--数据库相关
    查看有权限查看的所有的数据库showdbs或showdatabases注意:在MongoDB中,集合只有在内容插入后才会创建!就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。查看当前正在使用的数据库dbMongoDB中默认的数据库为test,如果你没有选择数据库,集合将存放在......
  • 1千多鸟类百科图谱大全ACCESS\EXCEL数据库
    我很喜欢这种图谱、名册、字典类的数据库,像这种数据库还有《史前古生物资料图谱ACCESS数据库》、《中国鱼类资料图谱大全ACCESS数据库》、《植物结构部件资料图谱ACCESS数据库》、《全球家畜资料图谱大全ACCESS数据库》等。几乎每一个鸟类都会对应一张图,只有28条记录图片丢失;包......
  • Amazon Device EDI 数据库方案开源介绍
    近期为了帮助广大用户更好地使用EDI系统,我们根据以往的项目实施经验,将成熟的EDI项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。接下来主要为大家介绍AmazonDeviceEDI项目,了解如何获取开源的项......
  • Django修改数据库时出错 django.db.utils.OperationalError: (1091, "Can't DROP 'con
    记录下简单的处理方法:报错信息:django.db.utils.OperationalError:(1091,"Can'tDROP'content';checkthatcolumn/keyexists")可能数据库中的字段结构已经完成了此字段的修改但是在  pythonmanage.pymakemigrations新生成的migrations/0002_auto_20191011_2104.py......
  • 848中国鱼类资料图谱大全ACCESS\EXCEL数据库
    这两年钓鱼的视频很火,天元邓刚“醉翁之意不在酒”专钓人家的鸡鸭羊也是看得过瘾,盘老板、被老板盘也一度成为热词,相信钓鱼的人或者想钓鱼的人有很多很多,但入门不就要识得一些鱼吗!今天这个中国鱼类图谱ACCESS资料数据库,不但包含了:分类、名称、英文名、俗名、产地及产期、详细介绍,而......
  • 数据库系统概论—关系理论、数据库设计
    数据库系统概论—设计与应用开发篇(1)一.关系数据理论主要是关系中属性和属性之间的依赖关系1相关基本概念第一范式:表中无表(属性不可再分)数据依赖:是在一个关系内部属性间的约束,分为函数和多值依赖。eg:学号决定姓名2.规范化2.1函数依赖与数学中函数概念相似,......
  • GaussDB数据库事务介绍
    前言随着大数据和互联网技术的不断发展,数据库管理系统的作用越来越重要,实现数据的快速读写以及保证数据的安全性和完整性成为企业在选择数据库技术时最为关注的问题之一。事务是保证数据一致性和完整性的关键机制之一,因此事务管理在数据库技术中占据了极为重要的位置。在这里我们将......
  • 再识华为云数据库——GaussDB
    前言华为云数据库GaussDB是一款拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。同时具有PB级海量数据存储、实时高效访问、自动化运维等特点,广泛应用于金融、电信、物流、电商、政体......
  • 数据库习题一
    8.数据库管理系统的功能主要有哪些方面?有效地组织、存取和维护数据数据的定义功能数据的操纵功能数据库的事务管理和运行管理数据库的建立和维护功能9.调查业界常用的数据库管理系统软件,简要叙述其中1~2个产品的情况。Oracle;sqlServer;人大金仓kingbase;达梦DMsqlServ......
  • 亿级 GPS 数据处理用 NoSQL、MySQL 还是 HBase?数据库选型看这里
    在车联网场景下,GPS产生的时序数据量级通常都达到了亿级,高效写入、存储和快速查询是最基本的数据处理要求,但在具体实践上这却不是一件容易实现的事情。最近某企业就遇到了这样一个问题:服务端接收存储GPS相关数据,按1次/30秒的上传频率,一天的数据条数估计在1.2亿条,其想要实......