AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[storage-engine](dba)

Martin Hope
keezar
Asked: 2022-03-04 13:31:59 +0800 CST

Organização de Arquivos Primários em DBMS - Arquivos de registros ordenados (arquivos ordenados)

  • 0

"Fundamentos de Sistemas de Banco de Dados", 3ª ed. por Elmasri e Navathe, página 136 diz:

"Podemos ordenar fisicamente os registros de um arquivo em disco com base nos valores de um de seus campos [...]"

Como essa "ordenação física" poderia ser aplicada, especialmente no que diz respeito à fragmentação? A maioria dos bancos de dados usa chamadas de sistema para armazenar seus dados no sistema de arquivos do sistema operacional, apenas muito poucos são capazes de fazer E/S bruta.

storage storage-engine
  • 1 respostas
  • 41 Views
Martin Hope
ilos-vigil
Asked: 2020-03-15 03:17:25 +0800 CST

Qual mecanismo de armazenamento MariaDB devo usar?

  • 0

Tenho um banco de dados com tamanho de cerca de 170GB com linhas entre 20.000 - 700.000.000 linhas (dependendo da tabela). Atualmente estou usando o mecanismo de armazenamento MyISAM.

No meu caso, a velocidade de consulta (READ) é muito importante, mas a transacional é opcional.

Minhas estimativas de operação CRUD são:

  • 98% LER
  • 2% INSERIR
  • < 1% para ATUALIZAR e EXCLUIR
mariadb storage-engine
  • 2 respostas
  • 80 Views
Martin Hope
Freedo
Asked: 2019-11-30 14:52:53 +0800 CST

Desabilite as tabelas de banco de dados para gravações, mas as gravações de relatório foram bem-sucedidas

  • 2

Eu gerencio um banco de dados onde milhares de GBs de dados de log inúteis são criados diariamente.

Não consigo consertar o software que está executando todo esse registro (desnecessário). Existe uma maneira de bloquear (ou desabilitar gravações) esta tabela de log para que ela nunca seja gravada, mas ao mesmo tempo relatará a gravação como bem-sucedida para que não cause problemas com o software?

Eu sei que posso apenas truncar as tabelas com um cronjob, mas gostaria de saber se existe uma abordagem melhor?

mariadb storage-engine
  • 1 respostas
  • 179 Views
Martin Hope
NeilWang
Asked: 2017-09-11 01:55:59 +0800 CST

Não é possível converter o mecanismo de tabela de MyISAM para NDBCLUSTER

  • 0

Segui as dicas do @RolandoMySQLDBA neste tópico: mysql, alterando tabelas de myisam para ndb Mas não obtive sucesso na última etapa.

Eu tenho um problema semelhante, aqui está minha tabela original:

CREATE TABLE `df_modules_metadata_values` (
  `id` mediumint(9) NOT NULL AUTO_INCREMENT,
  `date_added` datetime NOT NULL,
  `date_modified` datetime DEFAULT NULL,
  `uid` mediumint(9) NOT NULL,
  `share_id` mediumint(9) DEFAULT NULL,
  `file_id` mediumint(9) NOT NULL,
  `field_id` mediumint(9) NOT NULL,
  `val` text CHARACTER SET utf8,
  PRIMARY KEY (`id`),
  KEY `date_added` (`date_added`),
  KEY `uid` (`uid`,`file_id`,`field_id`),
  KEY `file_id` (`file_id`,`field_id`),
  KEY `uid_2` (`uid`,`field_id`),
  KEY `val` (`val`(100)),
  KEY `field_id` (`field_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Se eu simplesmente convertê-lo, ele me dará este erro:

mysql> alter table df_modules_metadata_values engine=ndbcluster;
ERROR 1073 (42000): BLOB column 'val' can't be used in key specification with the used table type

Aqui está o que eu tentei:

mysql> show table status where name='df_modules_metadata_values';
+----------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| Name                       | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time         | Check_time | Collation       | Checksum | Create_options | Comment |
+----------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
| df_modules_metadata_values | MyISAM |      10 | Dynamic    |    0 |              0 |           0 | 281474976710655 |         2048 |         0 |              1 | 2017-09-10 18:00:21 | 2017-09-10 18:00:21 | NULL       | utf8_unicode_ci |     NULL |                |         |
+----------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-----------------+----------+----------------+---------+
1 row in set (0.00 sec)

mysql> alter table df_modules_metadata_values rename df_modules_metadata_values_old;
Query OK, 0 rows affected (0.00 sec)

mysql> create table df_modules_metadata_values select * from df_modules_metadata_values_old where 1=2;

Query OK, 0 rows affected, 1 warning (0.15 sec)
Records: 0  Duplicates: 0  Warnings: 1

mysql> alter table df_modules_metadata_values add column val100 char(100) after val;
Query OK, 0 rows affected, 1 warning (0.39 sec)
Records: 0  Duplicates: 0  Warnings: 1

mysql> alter table df_modules_metadata_values add unique index (val100);
Query OK, 0 rows affected (0.33 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table df_modules_metadata_values engine=ndbcluster;
Query OK, 0 rows affected, 1 warning (0.49 sec)
Records: 0  Duplicates: 0  Warnings: 1

mysql> show table status where name='df_modules_metadata_values';
+----------------------------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+---------+
| Name                       | Engine     | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation         | Checksum | Create_options | Comment |
+----------------------------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+---------+
| df_modules_metadata_values | ndbcluster |      10 | Dynamic    |    0 |              0 |           0 |               0 |            0 |         0 |           NULL | NULL        | NULL        | NULL       | latin1_swedish_ci |     NULL | partitioned    |         |
+----------------------------+------------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+-------------+-------------+------------+-------------------+----------+----------------+---------+
1 row in set (0.00 sec)

Agora tenho dificuldade para finalizar sua última etapa, não consigo entender o significado delas, como finalizar a etapa "inserir em"? E por que precisamos fazer isso?

Além disso, durante minhas operações, pude ver alguns avisos, como posso verificá-los?

Obrigado!

mysql storage-engine
  • 2 respostas
  • 561 Views
Martin Hope
ng.newbie
Asked: 2017-01-11 02:57:09 +0800 CST

MongoDB - Não é possível alterar o mecanismo de armazenamento mongodb para WiredTiger

  • 5

Instalei o MongoDB no Ubuntu 14.04, mas não consigo alterar seu mecanismo de armazenamento para WiredTiger.

Eu adicionei as alterações necessárias ao arquivo /etc/mongod.conf, que é o seguinte:

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
  engine: wiredTiger

Eu iniciei o processo mongod usando o seguinte comando:

mongod -f /etc/mongod.conf

O servidor inicializa, mas ainda recebo o aviso quando me conecto ao meu shell-:

2017-01-10T15:36:54.866+0530 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

Estou perdendo alguma coisa aqui? As mudanças parecem não surtir efeito.

mongodb storage-engine
  • 2 respostas
  • 16813 Views
Martin Hope
felix
Asked: 2016-11-01 01:59:50 +0800 CST

Mecanismo mongodb inMemory disponível na edição da comunidade?

  • 0

Atualmente, estou trabalhando com o MongoDB 3.2.10 e recentemente ouvi falar do novo mecanismo "inMemory". Depois de algumas pesquisas descobri que ele estava disponível na Enterprise Edition desde a versão 3.2.6, mas não consegui encontrar nenhuma informação sobre um eventual lançamento na edição community.

Portanto, a pergunta é: eles planejam lançar o mecanismo inMemory para o Community Edition? Se o fizerem, sabemos quando?

mongodb storage-engine
  • 1 respostas
  • 1897 Views
Martin Hope
Courtney
Asked: 2016-06-23 09:32:42 +0800 CST

Mecanismo de Armazenamento MongoDB

  • 1

Como posso alterar o mecanismo de armazenamento do MongoDB permanentemente para não precisar executar o mongod sem precisar especificar o mecanismo de armazenamento todas as vezes? Estou usando o shell versão 3.2.7 no Windows 7 de 32 bits. Eu recebi um erro que dizia:

28663 Não é possível iniciar o servidor. O mecanismo de armazenamento padrão 'wiredTiger' não está disponível com esta compilação do mongod. Especifique explicitamente um mecanismo de armazenamento diferente, por exemplo --storageEngine=mmapv1., terminando.

Além disso, alguém sabe como desligar corretamente o servidor quando termino de trabalhar? Eu uso Ctrl+ Cmas dá um erro, então tenho que esvaziar a pasta de dados para que o processo comece novamente.

mongodb-3.0 storage-engine
  • 1 respostas
  • 716 Views
Martin Hope
Pablo Matias Gomez
Asked: 2016-05-04 15:39:26 +0800 CST

Os bancos de dados fazem uma exclusão e uma inserção ao atualizar as linhas?

  • 15

Então hoje um professor nos disse que quando o banco de dados tem que fazer uma atualização, internamente (em baixo nível) ele faz um delete e depois um insert com os campos atualizados. Ele então disse que isso é algo feito em todos os bancos de dados e então comecei uma discussão dizendo que achava que não fazia sentido, mas não tinha recursos suficientes para sustentar minha posição. Ele parece saber muito, mas não consigo entender por que dbs faria isso.

Quer dizer, eu sei que se você atualizar um campo e precisar de mais espaço para aquela linha, ele pode excluir a linha fisicamente e colocá-la no final com os novos dados. Mas se, por exemplo, você reduzir o espaço usado, por que excluir e inserir novamente no final?

Isso é mesmo verdade? Quais são os benefícios?

update storage-engine
  • 1 respostas
  • 1732 Views
Martin Hope
Buzut
Asked: 2015-11-16 10:52:35 +0800 CST

Mecanismos de armazenamento MongoDB MMAPv1 vs WiredTiger

  • 26

No mongoDB3 apareceu um novo mecanismo de armazenamento: WiredTiger . No entanto, o MMAPv1 ainda é a opção padrão no Mongo .

Um pode não ser melhor que o outro, geralmente é uma questão de caso de uso e de escolher a ferramenta certa para o trabalho. Mas qual motor é o certo para qual trabalho?

Na verdade, enquanto o MMAPv1 é o mecanismo padrão, o WiredTiger parece melhor em quase todos os campos. Possui os mesmos recursos do MMAPv1 mais:

  • melhor desempenho de gravação,
  • simultaneidade em nível de documento,
  • compressão,
  • instantâneos e sistema de pontos de verificação.

Encontrei uma tabela comparativa no blog do MongoDB :

Comparação WiredTiger e MMAPv1

Então, exceto se você estiver no Solaris, há algum motivo para não escolher o WiredTiger?


EDITAR

Aqui estão dois vídeos que explicam em detalhes o funcionamento interno do WiredTiger e do MMAPv1 .

mongodb storage-engine
  • 3 respostas
  • 23615 Views
Martin Hope
Kaushal
Asked: 2015-03-19 22:09:41 +0800 CST

MongoDB 3.0: Configure o mecanismo de armazenamento no nível de coleção ou banco de dados

  • 6

Sei que podemos configurar o mecanismo de armazenamento para ser wiredTiger no nível da instância quando iniciamos o mongod.

Mas também podemos selecionar o mecanismo de armazenamento para ser diferente para diferentes coleções ou bancos de dados?

mongodb storage-engine
  • 1 respostas
  • 4503 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve