nosql

Spark 背后的商业公司收购的 Redash 是个啥?

人走茶凉 提交于 2020-07-28 12:29:03
在2020年6月24日的 Spark AI summit Keynote 上,数砖的首席执行官 Ali Ghodsi 宣布其收购了 Redash 开源产品 的背后公司 Redash! 如果想及时了解 Spark 、Hadoop或者HBase相关的文章,欢迎关注微信公众号: iteblog_hadoop 通过这次收购,Redash 加入了 Apache Spark、Delta Lake 和 MLflow,创建了一个更大、更繁荣的开源系统,为数据团队提供了同类中最好的工具。为什么数砖会收购 Redash 公司? Redash 是什么? Redash 是一个可以协作的可视化和仪表盘平台,旨在让任何人,无论其技术水平如何,都可以在团队内部或跨团队共享见解。 一直使用 SQL 的用户可以利用Redash 来探索、查询、可视化和共享来自任何数据源的数据。世界各地每天有数千个组织的数百万用户使用 Redash 来做出数据驱动的决策。 Redash 主要包含以下特点: Query editor: 使用模式浏览器和代码提示来快速编写 SQL 和 NoSQL 查询。 可视化和仪表盘: 使用拖放创建漂亮的可视化界面,并将它们合并到单个仪表板中。 分享: 通过共享可视化仪表盘及其关联的查询,可以轻松实现协作,并支持对报告和查询的同行审查。 进度刷新: 在用户定义的间隔内自动更新图表和仪表板。 报警:

从 SQL 到 MongoDB 之概念篇

别说谁变了你拦得住时间么 提交于 2020-07-28 11:50:15
翻译原文:MongoDB 官方文档: SQL to MongoDB Mapping Chart 前言 很多开发者首次接触数据库(通常是在高校课堂)的概念,或者说接触第一个数据库,通常是 SQL 数据库,而现在,NoSQL 数据库越来越流行,很多原 SQL 数据的使用者难免有转向 NoSQL 的需求。而作为 NoSQL 数据库的代表,MongoDB 在社区越来越流行,生产环境的使用也日益广泛。 对于 SQL 转战 NoSQL的开发人员来说,最难的一步其实是将原有的 SQL 的概念和知识直接复用过来,最大化的减小学习的成本。 其实,这一步 MongoDB 官方已经为大家考虑到了,那就是在: MongoDB CRUD Operations > MongoDB CRUD Operations > SQL to MongoDB Mapping Chart ,这篇文档非常好的总结了 SQL 对应 MongoDB 的术语和概念,还有可执行文件、SQL 语句/MongoDB 语句等, 可以说对于 SQL 数据库开发人员,如果理解了他们之间的对应关系,那么就一只脚就迈进了 MongoDB 的大门。 Terminology and Concepts 下表介绍了各种 SQL 术语和概念以及相应的 MongoDB 术语和概念. SQL术语/概念 MongoDB 术语/概念 database

EPLAN API 入门系列- 开篇

依然范特西╮ 提交于 2020-07-27 11:03:36
EPLAN作为一个电气行业的软件,因为它的专业性,国际化等诸多特点,更因为它引领着整个电气行业设计的标准,已经越来越开始被国内先进的自动化行业所认知并接受。 EPLAN API在网上的资料很少,而且API Help也不公开,所以在很大程序上限制了国内EPLAN的推广及应用,当然这跟德国总部对国内的推广策略有关。 有人说在国内开源的东西没有出路,其实我以为,不开源的东西同样没有出路,从搏亦的角度而言,这是一个正向搏亦,因为软件产品之所以是一个产品,在于得到用户的认可与参与,才能够逐步的被大众所接受; 从OS系统开始:Linux、Android(当然Android是一种以Linux为基础的开放源代码OS)、Microsoft(微软宣布将ASP.NET MVC 4,ASP.NET Web API,ASP.NET Web Pages V2(Razor)全部开源)开源; 数据库方面:MySQL 5、PostgreSQL、MaxDB、NoSQL的开源都取得了长足的改进; 以及GOOGLE、SINA、BAIDU API的开放、目前比较流行的RESTFUL、WEB API的设计模式都给用户带来全新的体验与热情; 废话不多说了,开篇上传几张图片,给大家展示一下EPLAN API可以做哪些事情: 1、各种报表的导出(任何格式、任何项目中的数据的导出) 2、支持ERP/PDM

MongoDB和MySQL的区别

≯℡__Kan透↙ 提交于 2020-07-27 08:17:52
MongoDB MySQL 数据库模型 非关系型 关系型 存储方式 虚拟存储+持久化 不同的引擎有不同的存储方式 查询语句 独特的MongoDB查询方式 传统SQL语句 架构特点 可以通过副本集以及分片来实现高可用 常见有单点,M-S,MHA,Cluster,MMM等架构方式 数据处理方式 基于内存,将热数据存在物理内存中,从而达到高速读写 不同的引擎拥有其自己的特点 MySQL是关系型数据库。 优势 : 在不同的引擎上有不同 的存储方式。 查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。 开源数据库的份额在不断增加,MySQL的份额页在持续增长。 缺点 : 在海量数据处理的时候效率会显著变慢。 MongoDB是非关系型数据库(NoSQL ),属于文档型数据库。文档是MongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序地放置在一起便是文档,它是一个面向集合的,模式自由的文档型数据库。 存储方式:虚拟内存+持久化。 查询语句:是独特的MongoDB的查询方式。 适合场景:事件的记录,内容管理或者博客平台等等。 架构特点:可以通过副本集,以及分片来实现高可用。 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。 优点 : 1、快速。在适量级的内存的MongoDB的性能是非常迅速的

微服务-各种架构比较

本秂侑毒 提交于 2020-07-27 04:47:21
单体架构就是将所有功能都部署在一个web容器中运行的系统就叫做单体架构,一个实例中集成了一个系统的所有功能,通过负载均衡软件/设备实现多实例调用。 单体架构在初创公司、中小型系统、产品试错等场景下开发的周期快、对开发人员的技能要求低而任然被广泛地采用。 优点: 1.易于开发 - 当前开发工具和IDE的目标是支持单片应用程序的开发 2.易于部署 - 只需在适当的运行时上部署WAR文件(或目录层次结构) 3.易于扩展 - 可以通过在负载均衡器后面运行应用程序的多个副本来扩展应用程序 缺点: 复杂性高 项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐,整个项目非常复杂。 部署频率低 随着代码的增多,构建和部署的时间也会增加。而在单体应用中,每次功能的变更或缺陷的修复都会导致我们需要重新部署整个应用。全量部署的方式耗时长、影响的范围大、风险高,这使得单体应用项目上线部署的频率较低。而部署频率低又导致两次发布之间会有大量的功能变更和缺陷修复,出错概率比较高。 扩展能力受限 单体应用只能作为一个整体进行扩展,无法结合业务模块的特点进行伸缩。例如,应用中有的模块是计算密集型的,它需要强劲的CPU;有的模块则是IO密集型的,需要更大的内存。由于这些模块部署在一起,我们不得不在硬件的选择上做出妥协。 开发效率低 每个成员都需要有完整的环境依赖,开发环境的搭建成本高

第75天: Python 操作 Redis 数据库介绍

五迷三道 提交于 2020-07-27 02:08:03
by 極光 Redis 作为常用的 NoSql 数据库,主要用于缓存数据,提高数据读取效率,那在 Python 中应该如果连接和操作 Redis 呢?今天就为大家简单介绍下,在 Python 中操作 Redis 常用命令。 安装 redis 首先还是需要先安装 redis 模块,使用如下命令: $ pip3 install redis 创建 redis 连接池 安装成功后就可以在代码中导入模块,然后通过创建连接池的方式,连接到 Redis 服务器,创建代码如下: import redis #导入redis模块 # 建议使用以下连接池的方式 # 设置decode_responses=True,写入的KV对中的V为string类型,不加则写入的为字节类型。 pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=0, decode_responses=True) rs = redis.Redis(connection_pool=pool) 需要注意的是,设置 decode_responses=True ,写入的 Key/Value 对中的 Value 为 string 类型,不加则写入的为字节类型。 Redis 操作方法 Redis 支持五种类型的数据操作,分别为字符串、 List、 Hash、 Set、 zSet类型

ElasticSearch使用的其他总结

谁都会走 提交于 2020-07-25 13:50:44
使用search template 对于ES可以理解为一个NoSQL的容器,应用来访问和调用的过程。对于搜索引擎来讲,一般的项目所有业务搜索场景都是相对明确的。是否可以做到ES的复杂json业务处理,由ES来做,前端不关心ES的json的语法格式来做到搜索引擎和前端解耦?使用模版结构。 模版结构可以应用到所有的索引上,所以创建的时候不加索引,template是模版名,可以自定义 POST /_scripts/templatename { "script": { "lang": "mustache", "source": { "query": { "match": { "username": { "query": "{{nick_value}}", "analyzer": "{{nick_analyzer}}" } } } } } } 获得模版:GET /_scripts/ templatename 删除模版: DELETE /_scripts/templatename 调用模版进行查询: GET /index_customer/_search/template { "id": " templatename ", "params": { "nick_value": "张三", "nick_analyzer": "ik_max_word" } } 给field增加分词器 POST

MEAN架构实战:基于MongoDB、Express、Angular、Node.js构建企业级应用

谁说胖子不能爱 提交于 2020-07-25 07:31:44
曾几何时,业界流行使用LAMP架构(Linux、Apache、MySQL和PHP)来快速开发中小网站。LAMP是开放源代码的,而且使用简单、价格廉价,因此LAMP这个组合成为了当时开发中小网站的首选,号称“平民英雄”。而今,随着Node.js的流行,这使得JavaScript终于能够在服务器端拥有了一席之地。JavaScript成为了从前端到后端再到数据库层能够支持全栈开发的语言。而以MongoDB、Express、Angular和Node.js四种开源技术为基础的MEAN架构,除了具备LAMP架构的一切优点外,更能支撑高可用、高并发的大型互联网应用的开发。MEAN架构势必也会成为新的“平民英雄”。 本文介绍了MEAN架构的概念、发展趋势,并阐述了如何学习和使用MEAN架构。 什么是MEAN架构? MEAN架构,是指以MongoDB、Express、Angular和Node.js四种技术为核心的技术栈,广泛应用于全堆栈Web开发。 1. MongoDB MongoDB是强大的非关系型数据库(NoSQL)。与Redis或者HBase等不同,MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富、最像关系数据库的,旨在为Web应用提供可扩展的高性能数据存储解决方案。它支持的数据结构非常松散,是类似JSON的BSON格式,因此可以存储比较复杂的数据类型

MongoDB query and aggregation for BSON date type

两盒软妹~` 提交于 2020-07-22 05:14:39
问题 I am working on a project which needs to expire unaccepted orders after a set amount of time. Here is the sample structure of an order: { _id: ObjectId, time: int history: { created_at: Date, accepted_at: ['Null', 'Date'], completed_at: ['Null', 'Date'] } } If accepted_at field is still null after some hours from created_at , the order will be considered as expired. If order is accepted and completed_at is still null after time hours from created_at the order will be failed. I want to get

Get distinct values in Cosmos DB

喜你入骨 提交于 2020-07-21 03:53:06
问题 I need to get the distinct value. The query is SELECT DISTINCT c.Column1 FROM c . This query applies distinct with in the page instead of the entire collection. If i run the same above query again, it returns the next set of distinct values with continuation Token. I want the distinct needs to be applied to the entire collection, then the results can be paged. But it applies distinct with in the page and returns the results with continuation token. I want to achieve this without increasing