草庐IT

分区副本选举

全部标签

mongodb - 如何通过命令行在副本集中的辅助 mongodb 服务器中设置 rs.slaveOk()?

如何通过命令行在副本集中的辅助mongodb服务器中设置rs.slaveOk()?我尝试了以下方法:${MONGO_HOME}/bin/mongo--port${MONGO_PORT2}--host${MONGO_SECONDARY2}--eval"printjson(rs.slaveOk())"${MONGO_HOME}/bin/mongo--port${MONGO_PORT2}--host${MONGO_SECONDARY2}--eval"printjson(rs.slaveOk(true))"${MONGO_HOME}/bin/mongo--port${MONGO_PORT2}-

mongodb - 在 mongodb 中跨副本分发读取

我正在尝试了解mongodb副本集中的读取行为。特别是我有一个高读取率、低写入率和相对较小数据集(比如小于8GB)的环境。我有一个3节点副本集。我阅读了这份文件:http://docs.mongodb.org/manual/core/read-preference/特别是:primaryDefaultmode.Alloperationsreadfromthecurrentreplicasetprimary.primaryPreferredInmostsituations,operationsreadfromtheprimarybutifitisunavailable,operation

超出 MongoDB 副本心跳请求时间

我有副本集(托管在亚马逊上),其中有:主要中学仲裁者它们都是3.2.6版本,这个副本正在我的分片集群中创建一个分片(如果这很重要,尽管我认为它不重要)。当我在primary上键入rs.status()时,它说无法到达secondary(同样的事情在仲裁器上):{"_id":1,"name":"secondary-ip:27017","health":0,"state":8,"stateStr":"(notreachable/healthy)","uptime":0,"optime":{"ts":Timestamp(0,0),"t":NumberLong(-1)},"optimeDate

mysql - "Lost"分区后30%的记录

我有一个超过18GB数据的9000万条记录的MYISAM表,测试表明它是分区的候选者。原始架构:CREATETABLE`email_tracker`(`id`int(11)NOTNULLAUTO_INCREMENT,`hash`varchar(65)COLLATEutf8_unicode_ciNOTNULL,`userId`int(11)NOTNULL,`dateSent`datetimeNOTNULL,`dateViewed`datetimeDEFAULTNULL,PRIMARYKEY(`id`),KEY`userId`(`userId`),KEY`dateSent`(`dateSe

mysql - mysql 处理涉及多个分区的查询是针对每个分区并行处理还是串行处理?

这是我的表架构。CREATETABLEusers(`id`int(11)NOTNULLAUTO_INCREMENT,`created_at`datetimeDEFAULTNULL,`account_id`tinyint(4)NOTNULL,)ENGINE=InnoDBAUTO_INCREMENT=25600033DEFAULTCHARSET=utf8PARTITIONBYLIST(account_id)(PARTITIONp0VALUESIN(1)ENGINE=InnoDB,PARTITIONp1VALUESIN(2)ENGINE=InnoDB,PARTITIONp2VALUESIN(

Kafka系列——详解消费者和消费者群组和分区的关系

要想知道如何从Kafka读取消息,需要先了解消费者和消费者群组的概念。消费者和消费者群组消费者组是为了提升从Kafka消费数据的能力假设有一个应用程序需要从一个KafkaTopic读取消息并验证这些消息,然后再把它们保存起来。应用程序需要创建一个消费者对象,订阅主题并开始接收消息,然后验证消息并保存结果。当生产者往主题写入消息的速度超过了应用程序验证数据的速度,这个时候该怎么办?如果只使用单个消费者处理消息,应用程序会远跟不上消息生成的速度。显然,此时很有必要对消费者进行横向伸缩。就像多个生产者可以向相同的主题写入消息一样,我们也可以使用多个消费者从同一个主题读取消息,对消息进行分流。Kafk

mysql - 如何确定mysql分区数

我有一个巨大的mysql表(用于日志记录)。像这样的东西:记录器(sha1)时间戳Action因此预计会有大约10万个记录器。每个日志记录平均说100行。这将使表格很快达到大约1亿行。我需要快速完成插入(实际上是追加),因为很多记录器会同时写入条目。通常查询是“给我按日期排序的记录器‘x’的所有日志”。所以我打算使用mysql分区:http://dev.mysql.com/doc/refman/5.1/en/partitioning.html我的问题是,如何找到分区数量和分区大小之间的平衡点?由于记录器是一个UUID并且是一个sha1数字,我想让mysql只为每个sha1值创建一个分区

mysql - 你应该在变化的状态列上使用 MySQL 分区吗?

我们有一个表作为要处理的项目队列。此表有一个状态列,可以包含0或1以指示记录是否仍处于事件状态。该表目前有~4MM行,并且会快速增长。状态=0的行分布大约为5%,状态=1的行分布约为95%。典型的查询仅查找状态=0的记录。随着表的增长,查询开始变慢。这是因为MySQL优化器没有在状态列上使用索引,因为它的基数太低。我们正在考虑按状态列将表划分为2个分区。我们的想法是,我们可以利用分区修剪,因此通常只需要分析总记录的5%。我们仅出于存档原因保留status=1记录。我的问题是这种方法是否会产生我正在寻找的预期效果,或者负面影响是否会超过yield?将行从status=0更新为status

mysql - 在 Multi-Tenancy 的情况下如何将数据库副本复制到自身

我有带mysql数据库的Multi-Tenancy系统。存在基于鉴别器的Multi-Tenancy。每个表都包含列tenantId。我有tenantId=-1的默认租户。对于此默认租户数据库,包含所有新租户的初始数据。如何为同一个数据库中的新tenantId复制tenantId=-1的所有数据?数据库中有很多表,手动编写这样的脚本非常困难。主要问题:如果我要转储数据库,那么我不能将这个转储加载到同一个数据库,因为主键和外键应该是新的。 最佳答案 您需要在mysqldump中使用-w(或--where)选项。由于您所有的表都有tena

Mysql:没有主键的分区

我有下表,其中包含大量数据,这就是我要拆分或分区它的原因。问题是我想按不是主键的列进行分区:project_id。在我的例子中,最多会有2或3个不同的项目ID...-id(PRIMARYKEY,AUTOINCREMENT)-project_id(INT)-username(UNIQUE)-username_md5(UNIQUE)(-...morebutirrelevantcolumns)如您所见,我需要保证3列是唯一的(id、用户名、username_md5)。现在,我想对project_id列进行RANGE分区。我想出的唯一解决方案是为所有这些列制作一个丑陋的4列主键(分区要求分区表