Discord 在创建之初采用的是一个单副本集的 MongoDB,没有使用 MongoDB 的分片,他们给出的理由是当时 MongoDB 分片很难用,而且不够稳定(这里就不去深究了)。消息数到达一亿条时,RAM 里已经存不下这么数据和索引,MongoDB 的延时开始变得不可控。
我们对这两种数据库进行了深入的基准测试研究,应用了超过133项测量指标进行全面比较。以下是测试结果。
如果您了解用于通信的高流量应用程序、需要低延迟和良好容错能力的应用程序,您很可能已经遇到过 Elixir(作为一种编程语言)和 ScyllaDB(一种旨在低延迟的 NoSQL 数据库)的名称。两者的目标非常相似:处理通常需要更加关注稳定性的应用程序。
随着开发者在家工作或在小型工作室工作,游戏资产,包括极其巨大的资产,需要能够随时提供给世界各地的人使用。
作者 | Bo Ingram 译者 | 平川 策划 | Tina 本文最初发布于 Discord 官方博客。 2017 年,我们写了一篇关于我们如何存储数十亿条消息的博文,分享了我们开始时如何使用 MongoDB,但又将数据迁移到 Cassandra 的过程,因为我们正在寻找一个扩展性和容错性比较高而维护成本相对较低的数据库。我们确信自己会发展,而且我们确实做到了! 我们想要一个能随着我们的发展而演进的数据库,但又不希望它的维护需求会随着我们的存储需求而增长。遗憾的是,我们发现事实并非如此——我们
使用 TypeScript、ScyllaDB 和 Next.js 构建视频流应用的最小设计。
今天学个简单点的,[termtables](https://github.com/scylladb/termtables)处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习[dateparse](https://darjun.github.io/2021/06/24/godailylib/dateparse/)库时偶尔见遇到了这个库。
简介 今天学个简单点的?,termtables处理表格形式数据的输出。适用于随时随地的输出一些状态或统计数据,便于观察和调试。是一个很小巧的工具库。我在学习dateparse库时偶尔见遇到了这个库。
最近看到一篇由Alexander Zaitsev撰写的,关于ClickHouse性能对比的文章(文末会有报告的原文地址),觉得很有意思,所以拿来与大家分享一下。它有趣的地方在于,这是一篇针对性能对标的,性能对标测评。这算不算螳螂捕蝉,黄雀在后呢?
关系图谱(点击看大图): 部分名词: 名词 全写 解释 备注 DPDK Data Plane Development Kit 数据平面开发套件或叫数据平面开发工具集 Intel开源的快速数据包处
这是 ScyllaDB 的客户端驱动程序,用纯 Rust 编写,使用 Tokio 实现完全异步 API。尽管针对 ScyllaDB 进行了优化,但也与 Apache Cassandra 兼容。
我们做数据库选型的时候首先要问:需求是谁提出的,也就是说谁选型?是负责采购的同学、 DBA 还是业务研发?
首先是运维成本,包括监控告警是否完善、是否有备份恢复机制、升级和迁移的成本是否高、社区是否稳定、是否方便调优、排障是否简易等;
很多的数据库现在都在使用LSM tree作为其核心结构,因为它可以提供非常高的写入吞吐量。一些分布式数据库比如Bigtable、HBase、LevelDB、SQLite4、Tarantool、RocksDB、WiredTiger(MongoDB新一代的引擎)、Apache Cassandra、InfluxDB、ScyllaDB、OceanBase,甚至一些MQ都在使用这个结构,比如pulsar。既然LSM tree这么厉害,我们就有必要深入学习一下。一个典型的基于LSM tree的系统应该包括如下组件。没错,通过本文你将了解到一个典型的LSM系统应该有的五脏六腑。
GitHub:https://github.com/night-crawler/fgr
ClickHouse 是俄罗斯开源的OLAP数据库,以彪悍的性能著称。开源5年以来,以性能优异、简单易用的特点,吸引了大量的用户群体。本次分享将通过对ClickHouse原理的解析,帮助大家理解ClickHouse 彪悍的性能是如何做到的。同时,会介绍腾讯云ClickHouse在QQ音乐等产品中的实际落地案例、特有的产品能力,以及未来规划。
原文链接: https://itnext.io/rust-in-the-real-world-super-fast-data-indexing-with-elasticsearch-15feeb239ba7
基于Java的压力测试工具;适用简单的并发测试,性能不稳定
之前聊过很多次的perf book,有中文版本了,中文名 现代CPU性能分析与优化
https://docs.nvidia.com/doca/sdk/erasure-coding-programming-guide/index.html
https://www.manning.com/books/refactoring-to-rust
Discord 对其平台进行了优化,以便于在单台服务器上为超过 100 万在线用户提供服务,同时保持反应灵敏的用户体验。在系统可观测性和性能调优的支持下,该公司对负责发送数十亿条消息通知的 guild 组件进行了一系列的性能和可扩展性增强。
P99 Conf[1] 是一个由 Scylladb[2] 组织的新的跨行业的线上Conf,为工程师而设。该活动以低延迟、高性能设计为中心,范围包括操作系统(内核、eBPF、IO_uring)、CPU(Arm、Intel、OpenRisc)、中间件和语言(Go、Rust、JVM、DPDK)、数据库和可观测性方法。P99 CONF只面向技术人员,你的老板不在邀请之列。
过去几十年互联网呈爆发式的增长,内容的丰富以及层出不穷的DDoS攻击等,对网络性能提出了极大的挑战,也同样促进了网络基础设施的快速发展。运营商的带宽越来越大,CPU/网卡等硬件的性能也会越来越强。但在很长时间内,软件的性能提升落后于硬件的性能提升,并严重限制了应用程序的性能,大部分时间不得不依靠堆机器来应对,造成了大量的资源浪费和成本提高。 随着软件的不断发展,在新世纪的第一个10年时,通过多线程和事件驱动(kqueue/epoll等)解决了C10K的问题。但是在第二个10年却不堪重负,亟需新的解
本文是将知乎网友的提问 《如何评价腾讯开源的基于 DPDK 和 BSD 协议栈的网络框架 f-stack?》,将回答讨论内容和我们的一些想法进行了整理。 项目背景 F-Stack 这个项目起始于DNSPod的授权DNS项目,当时是12年,DPDK还未开源的时候,我们就基于DPDK做了授权DNS,做完的时候正好DPDK也开源了,正式上线后10GE单网卡性能达到1100万qps,后面又实现了一个简易的TCP协议栈用于支持TCP DNS。 后来DNSPod合并进入腾讯云,腾讯云有大量业务需要高性能的接入服务,而D
我们都知道Linux的IO模型有阻塞、非阻塞、SIGIO、多路复用(select,epoll)、AIO(异步I/O)等。
像Golang 借助微服务和云原生的春风,构建了强大的生态系统。Python在数据分析和机器学习,构建了简洁实用的生态系统。
对正则的使用,基本用于日志分析,比如awk、grep等操作。自C++11起,也将正则表达式纳入新标准的一部分,因为项目需求中需求场景并不是很多,所以也就仅仅知道C++11对其的支持。记得在去年群里聊天的时候,群里有人提到了std::regex,有不少人进行了吐槽:
过去几十年互联网呈爆发式的增长,内容的丰富以及层出不穷的DDoS攻击等,对网络性能提出了极大的挑战,也同样促进了网络基础设施的快速发展。运营商的带宽越来越大,CPU/网卡等硬件的性能也会越来越强。但在很长时间内,软件的性能提升落后于硬件的性能提升,并严重限制了应用程序的性能,大部分时间不得不依靠堆机器来应对,造成了大量的资源浪费和成本提高。
首先,在数据结构中,图是一种由顶点(vertex)集合及顶点间关系集合组成的一种非线性数据结构。
Sorted Strings Table(SSTable)是HBase、 Cassandra等一些NoSQL数据库使用的一种持久文件格式,用于获取存储在memtables中的内存数据,对其进行排序以实现快速访问,并将其存储在磁盘上的一组持久的、有序的、不可变的文件中。不可变意味着sstable永远不会被修改。它们稍后被合并到新的sstable中,或者在数据更新时被删除。
技术综合 《小黄鸭调试法,每个程序员都要知道的》 《开发一个这样的 APP 要多长时间?》 《一段代码让你觉得人类智慧可以璀璨无比》 《成人网站有多大?》 《输入Google网址回车之后发生了什么?》 《为什么有些大公司技术弱爆了?》 《高效 MacBook 工作环境配置》 《如何编写让别人能读懂的代码?》 《最牛逼的编码套路》 《有了这列表,程序员不愁没练手小项目了》 《相似图片搜索的原理》 《麻省理工(MIT)牛人解说数学体系》 《程序员必须知道的10大基础实用算法》 《用 3 个空格缩进代码是异端么?
很早就听说过PMM,Percona开发的一套对MongoDB, MySQL, Postgres建立监控系统的套件。曾经也抽空想试用下,但由于使用上的各种毛病,以及文档欠缺,没成过。最近在Mongo中文社区里听群友谈到已经有PMM2了,迫不及待地搭建一把,看看什么样子,毕竟网络上详细谈PMM搭建的貌似不多,此文抛砖引玉。
Python 语言向来以丰富的第三方库而闻名,今天来介绍几个非常nice的库,有趣好玩且强大!
这个错误码`E0275`[2]表示在在解析某些类型限定时存在无限递归。具体到上面代码,是计算Node<Vec<()>>: Sized 的 Sized 限定时产生了无限递归。
在生产环境中运行系统涉及到对高可用性、弹性和故障恢复的要求。在运行云原生应用程序时,这一点变得更加关键,因为在这种环境中,基本的假设是计算节点会中断,Kubernetes节点会宕机,微服务实例可能会失败,而服务预计会继续运行。
Hadoop:Apache Hadoop是一个开源的分布式系统基础框架,离线数据的分布式存储和计算的解决方案。Hadoop最早起源于Nutch,Nutch基于2003 年、2004年谷歌发表的两篇论文分布式文件系统GFS和分布式计算框架MapReduce的开源实现HDFS和MapReduce。2005年推出,2008年1月成为Apache顶级项目。Hadoop分布式文件系统(HDFS)是革命性的一大改进,它将服务器与普通硬盘驱动器结合,并将它们转变为能够由Java应用程序兼容并行IO的分布式存储系统。Hadoop作为数据分布式处理系统的典型代表,形了成完整的生态圈,已经成为事实上的大数据标准,开源大数据目前已经成为互联网企业的基础设施。Hadoop主要包含分布式存储HDFS、离线计算引擎MapRduce、资源调度Apache YARN三部分。Hadoop2.0引入了Apache YARN作为资源调度。Hadoop3.0以后的版本对MR做了大量优化,增加了基于内存计算模型,提高了计算效率。比较普及的稳定版本是2.x,目前最新版本为3.2.0。
偶然机会看到mongo中文社区办了场征文活动,觉得挺有意思的,虽说自己还在成为大佬的路上,但参与一下未尝不可。于是就有了这篇文章。
知识图谱是描述客观世界存在的概念或实体以及它们之间的关系,本质上是一种基于图模型的关联网络知识表达,将实体抽象为顶点,将实体之间的关系抽象为边,通过结构化的形式对知识进行建模和描述,并将知识可视化。由于极强的表达能力和可解释性,当前已大量应用在搜索引擎、故障诊断、辅助检修、智能问答、推荐等多个领域。
类别 名称 (可重点关注加粗部分) 官网 备注 查询引擎 Phoenix https://phoenix.apache.org/ Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写 Presto http://prestodb.io/ Facebook开源的分布式SQL查询引擎,适用
注意,这里只是说了通过 提供类似图的语义查询功能,并没有规定图的存储结构。图数据库的主要优点:
作者:Avishai Ish-Shalom是ScyllaDB公司的开发者推广人员。
互联网后台开发,通常意味着分布式、大数据,涉及到高性能、系统容灾、数据容灾、高可用性、数据一致性等。自从2008年Hadoop在华夏大地蓬勃发展,开源如火山爆发在业界百花齐放,茁壮成长。国内的BAT、华为和小米等也大量的参与了国际开源,甚至开源了大量优秀的久经考验的内部系统,如阿里的Tair、druid、fastjson、jstorm、AliSQL、RocketMQ和腾讯的RapidJSON、libco、PhxPaxos、PhxRPC、PhxQueue、PhxSQL、PaxosStore、MSEC、Tars、TAF等。
年前被同事安利了这个分布式最终一致性的存储系统 Anna 。初略看了一眼Paper,似乎很是牛X。说是支持任意规模的扩展,并且性能不低于 pedis。于是抽空来看看并了解下这套系统的设计特点和这种夸张的单机性能和扩展性的来源。
Linux 从诞生至今,已经快有 30 年了。这期间 Linux 一直延续着通过邮件来提交变更、审查、讨论直至批准的研发过程,这一流程非常费时费力,不仅成为新人的进入门槛,也成了可持续生产的障碍。那么,为什么 Linux 一直要坚持遵循这一过程呢,它能带来什么好处?存在哪些弊端?有什么解决办法吗?
Apache IoTDB(物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统。Apache IoTDB 采用轻量式架构,具有高性能和丰富的功能,并与Apache Hadoop、Spark和Flink等进行了深度集成,可以满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。
根据 Gartner 的预测,预计在 2021 年,全球终端用户在公共云服务上的支出将在 2020 年的 2700 亿美元基础上增长 23%,达到 3320 亿美元。
eBPF 给云原生世界带来了很多变化。感谢 Cilium 之类的新技术,eBPF 已经成为了 Kubernetes CNI 的一个流行选择。Linkerd 这样的服务网格产品也经常会和 Cilium 或类似的 CNI 产品协同工作,从而同时在 7 层和 3/4 层分别得到 Linkderd 和 Cilium 的强大处理能力。但是 eBPF 的网络技术到底多强大?会强大到——例如替换 Linkerd 的 Sidecar Proxy,从而能在内核里完成所有操作吗?
领取专属 10元无门槛券
手把手带您无忧上云