nosql

DynamoDB query on boolean key

梦想的初衷 提交于 2020-11-30 20:35:12
问题 I'm new to DynamoDB (and to noSQL in general) and am struggling a little to get my head round some of the concepts. One thing in particular is giving me some problems, which is around querying a table based on a boolean key. I realise that I can't created a primary or secondary index on a boolean key, but I can't see how I should ideally index and query a table with the following structure; reportId: string (uuid) reportText: string isActive: boolean category: string I would like to be able

DynamoDB query on boolean key

余生颓废 提交于 2020-11-30 20:35:01
问题 I'm new to DynamoDB (and to noSQL in general) and am struggling a little to get my head round some of the concepts. One thing in particular is giving me some problems, which is around querying a table based on a boolean key. I realise that I can't created a primary or secondary index on a boolean key, but I can't see how I should ideally index and query a table with the following structure; reportId: string (uuid) reportText: string isActive: boolean category: string I would like to be able

How to create and insert a JSON object using MySQL queries?

心已入冬 提交于 2020-11-30 06:46:49
问题 I'm trying to create a JSON object and then read the values from it into MySQL table. But I'm facing errors and I'm new to both JSON and MySQL. SET @j = '{"key1": "value1", "key2": "value2"}'; CREATE TABLE Person (name int,id int); INSERT INTO Person (name,id) SELECT * FROM OPENJSON(@j) WITH (name int,id int); 回答1: On creating table set your field as JSON datatype. CREATE TABLE `person` ( `name` json DEFAULT NULL ); And Insert JSON data into it, INSERT INTO `person` (`name`) VALUES ('["name1"

数据分析面试被刷后,后悔没早点会学会这些数据库知识!

試著忘記壹切 提交于 2020-11-27 09:57:56
在数据分析面试中,有一类知识绝对是面试官重头考察的内容,但是很多人却常常忽略,也就是—— 数据库与SQL ! 数据库是什么? 你可以把数据想象成一个个文件夹,数据库就是一个一个文件柜,这个文件柜存放着非常多的数据,无论这个数据是什么、或者是如何组织的 这里要注意,人们通常用数据库这个术语来代表他们使用的数据库软件,这是不正确的,这是以前你混淆的根源 确切的说, 数据库软件应该称为DBMS ,也就是数据库管理系统,数据库就是由DBMS创建和操纵的,比如我们可以在sql sever创建一个数据库 也就是说DBMS就像是一个图书管理员,你不直接访问数据库,而是利用DBMS访问数据库,让图书管理员帮你找一个文件柜。 数据库的分类? 所说的数据库都指的是数据库管理系统,这按照早期的数据库理论,比较流行的数据库模型有三种,分别为 层次式数据库、网状数据库和关系型数据库 。 而在当今的互联网企业中,最常用的数据库模式主要有两种,即关系型数据库和非关系型数据库。 关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式) 在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选取等运算来实现数据的管理。 关系型通俗的理解是,数据作为二维数组存在,你可以理解为图书馆的图书排列。 书架、楼层你可以理解为关系型的数据结构,书作为数据存在

【还有五天】开学季当当计算机图书大促

久未见 提交于 2020-11-27 07:32:02
开学季 当当网计算机图书大促 >> 每满100减50 << 满200减100 满300减150 满400减200 不止如此!秉持绝不让大家多花一分钱的精神 机械工业出版社华章公司 联合 实时流式计算 特别送出一批优惠码 “实付满200减40” 可以和满减活动 叠加 使用 优惠码使用后相当于 花160买400的书! 超低门槛!超大力度!快快上车! 选书太纠结?推荐几本必买的好书新书 助你囤的疯狂、读的畅快,绝不后悔! 推荐书单 01 《MySQL技术内幕:InnoDB存储引擎 第2版》 推荐语:国内外数据库专家联袂推荐,基于MySQL5.6,从存储引擎内核角度对InnoDB的核心实现和工作机制进行深入剖析。 02 《Redis设计与实现》 推荐语 :系统而全面地描述了 Redis 内部运行机制,图示丰富,描述清晰,并给出大量参考信息,是NoSQL数据库开发人员案头必备。 03 《HBase原理与实践》 推荐语:HBasePMC成员与网易资深工程师倾力打造,多位技术专家联袂推荐。本书系统介绍HBase基本原理与运行机制,融入了作者多年的开发经验与实践技巧。 04 《ClickHouse原理解析与应用实战》 推荐 语:这是一本可帮助读者深度理解并全面掌握ClickHouse运行原理并进行实践开发的工具书,涵盖了ClickHouse的时代背景、发展历程、核心概念、基础功能、运行原理

DDD领域驱动设计

我们两清 提交于 2020-11-27 04:46:25
有幸参与了一些领域驱动的项目,读了一些文章,也见识了一些不伦不类的架构,感觉对领域驱动有了更进一步的认识。所以今天跟大伙探讨一下领域驱动设计,同时也对一些想要实践领域驱动设计却又无处下手,或者一些正在实践却又说不上领域驱动设计到底好在哪的朋友一些指引方向。当然对于”领域驱动设计”这个主题而言从来不乏争论,所以大家可以在畅所欲言。 为什么要使用领域驱动设计? 从Eric Evans的《 领域驱动设计:软件核心复杂性应对之道 》一书的书名就可以看出这一方法论是为了解决软件核心复杂性的。也就是说软件业务越来越复杂了,领域驱动设计可以让事情变得简单。而实际情况是:领域驱动设计的门槛很高,没有很深厚的面向对象编码能力几乎不可能实践成功。 这一说法是否自相矛盾呢?Martin Fowler在 PoEAA 一书中给了一个有力的解释: 我们把三层架构等除了领域驱动之外的架构方式都可以归纳为以数据为中心的架构方式,在图中是黑色的粗实线; 领域驱动设计在图中是绿色的粗实线。 当软件在开发初期,以数据驱动的架构方式非常容易上手,但是随着业务的增长和项目的推进,软件开发和维护难度急剧升高。 领域驱动设计则在项目初期就处在一个比较难以上手的位置,但是随着业务的增长和项目的推进,软件开发和维护难度平滑上升。 这幅图形象的解释了领域驱动设计和传统的软件架构模式两者在软件开发过程中解决复杂性之间的差异。

北上广等一线城市IT岗位已接近饱和?

萝らか妹 提交于 2020-11-27 03:52:15
IT行业的技术者,时常被我们戏称为「IT民工」,虽然行业内巨大的人才需求和相对容易得到的高薪在源源不断的吸引各路人马加入,但它依旧在全球最缺人的十大行业中位居榜首。 我身边的朋友大都问过我这样一个疑问: 几乎每所大学都会开设计算机技术相关专业,再加上IT培训机构的输出,每年培养出来的技术人才加在一起少说也有10-20万人,如此多的人为何还会有这么大的人才缺口呢? 0 以“十三五”规划(2016-2020年)为首的政策将持续带动IT行业的发展。去年开始“一带一路”的建设也在为IT行业开拓新市场,打造新格局,继续信息化建设。此外,各城市建立高新区、创建服务外包产业示范园等政策也都进一步加速了IT行业发展。 1 二十一世纪已经全面进入信息时代,信息科技给人类的生产以及生活方式带来了巨大的变革,互联网缩短了我们与世界的距离,IT技术的应用已经渗透到社会的各行各业、各个角落,极大地提高了社会生产力水平,为人们的工作、学习和生活带来了前所未有的便利和实惠。 现在稍有规模的企业都会创建官网、建立数据库,储存大量用户信息,企业信息等,近年来,信息化管理、大数据、AI、区块链等技术的不断发展更加使得IT人才的就业范围越来越广。 2 IT行业从业者需要具备较强的专业性,这也决定了IT从业人员的独特性。特别是像一些新技术领域,对于从业人员的要求都是比较高的,只有系统的学习了技能,扎实的掌握技术

分库分表方案

元气小坏坏 提交于 2020-11-27 02:29:28
阅读文本大概需要3分钟。 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。 在业务Service来看就是,可用数据库连接少甚至无连接可用。 接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种: 磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表 。 第二种: 网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库 。 2、CPU瓶颈 第一种: SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种: 单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表 。 二、分库分表 1、水平分库 1.概念: 以 字段 为依据,按照一定策略(hash、range等),将一个 库 中的数据拆分到多个 库 中。 2.结果: 每个 库 的 结构 都一样; 每个 库 的 数据 都不一样,没有交集; 所有 库 的 并集 是全量数据; 3.场景: 系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 4.分析: 库多了

常用分库分表方案汇总

此生再无相见时 提交于 2020-11-26 03:36:48
来源:rrd.me/g9zP3 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。 第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。 2、CPU瓶颈 第一种:SQL问题,如SQL中包含 join ,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表。 二、分库分表 1、水平分库 概念: 以字段为依据,按照一定策略(hash、range等),将一个库中的数据拆分到多个库中。 结果: 每个库的结构都一样; 每个库的数据都不一样,没有交集; 所有库的并集是全量数据; 场景: 系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 分析: 库多了,io和cpu的压力自然可以成倍缓解。 2、水平分表 概念: 以字段为依据,按照一定策略

Netflix基于云的微服务架构设计分析

那年仲夏 提交于 2020-11-25 10:46:33
Netflix的微服务架构为其提供全球视频流服务,本篇文章将对此架构进行全面的系统设计分析。 1. 简介 Netflix多年来一直是全球最出色的在线订阅制的视频流服务之一,其占世界互联网带宽容量的15%以上。2019年,Netflix已经获得了超过1.67亿的订阅用户,每个季度新增用户超过500万,服务涵覆盖全球200多个国家或地区。更具体点说,Netflix的用户每天要花费超过1.65亿小时观看4000多部电影和47000多集电视剧。这些令人印象深刻的数据从工程设计的角度来看,Netflix的技术团队已经设计了一个惊人的视频流系统,其具有高可用性和可扩展性,以服务其全球客户。 然而,这可是其技术团队花费了超过8年的时间才将他们的IT系统升级到现在的规模。事实上,Netflix的基础架构转型始于2008年8月,触发点是当时数据中心的服务中断导致整个DVD租赁服务关闭了三天。Netflix意识到它需要一个没有单点故障的更可靠的基础架构。为此,它做出了两个重要的决定:将IT基础架构从其数据中心迁移到公有云,并使用微服务架构的小型可管理软件组件替换其单体应用程序。这两个决定直接塑造了Netflix今天的成功。 Netflix选择AWS Cloud来迁移其IT基础架构,因为AWS可以在全球范围提供高度可靠的数据库、大规模云存储和多个数据中心。通过使用AWS建立和维护的云基础架构