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 / user-97975

Honinbo Shusaku's questions

Martin Hope
Honinbo Shusaku
Asked: 2016-12-23 08:41:13 +0800 CST

Os SSDs reduzem a utilidade dos bancos de dados

  • 30

Eu só ouvi falar de Robert Martin hoje, e parece que ele é uma figura notável no mundo do software, então não quero que meu título apareça como se fosse uma isca de clique ou eu colocando palavras em sua boca, mas isso é simplesmente como interpretei o que ouvi dele com minha experiência e compreensão limitadas.

Eu estava assistindo a um vídeo hoje (sobre arquitetura de software), sobre uma palestra de Robert C. Martin, e na segunda metade do vídeo, o tópico de bancos de dados era o foco principal.

Pelo que entendi do que ele disse, parecia que ele estava dizendo que os SSDs reduziriam a utilidade dos bancos de dados ( consideravelmente ).

Para explicar como cheguei a essa interpretação:

Ele discutiu como com HDDs/discos giratórios, a recuperação de dados é lenta. No entanto, hoje em dia usamos SSDs, observou ele. Ele começa com "RAM está chegando" e continua mencionando os discos RAM, mas depois diz que não pode chamá-lo de disco RAM, então recorre apenas a dizer RAM. Portanto, com a RAM, não precisamos dos índices, porque cada byte leva o mesmo tempo para ser obtido. ( este parágrafo foi parafraseado por mim )

Portanto, ele sugerindo RAM (como na memória do computador) como um substituto para os bancos de dados (como interpretei sua declaração) não faz sentido porque é como dizer que todos os registros são processados ​​na memória durante o tempo de vida de um aplicativo ( a menos que você extraia de um arquivo de disco sob demanda)

Então, comecei a pensar por RAM, ele quer dizer SSD. Então, nesse caso, ele está dizendo que os SSDs reduzem a utilidade dos bancos de dados. Ele até diz: "Se eu fosse o Oráculo, ficaria com medo. A própria base de por que existo está evaporando."

Pelo meu pouco conhecimento de SSDs, ao contrário dos HDDs, que são O(n)o tempo de busca (eu acho), os SSDs são próximos O(1)ou quase aleatórios. Então, a sugestão dele me interessou, porque nunca tinha pensado nisso dessa forma. A primeira vez que fui apresentado a bancos de dados alguns anos atrás, quando um professor estava descrevendo os benefícios sobre o sistema de arquivos regular, concluí que a função principal de um banco de dados é essencialmente ser um sistema de arquivos muito indexado (assim como otimizações, cache, acesso simultâneo, etc), portanto, se os índices não forem necessários no SSD, isso tornará os bancos de dados menos úteis.

Independentemente disso, porém, prefaciando que sou um newb, acho difícil acreditar que eles se tornaram menos úteis, já que todos ainda usam bancos de dados como o ponto principal de seu aplicativo, em vez de sistema de arquivos puro, e senti como se ele estivesse simplificando demais o papel dos bancos de dados.

Nota : eu assisti até o final para ter certeza de que ele não disse algo diferente.

Para referência: 42:22 é quando todo o tópico do banco de dados surge, 43:52 é quando ele começa com "Por que ainda temos bancos de dados"

Esta resposta diz que os SSDs aceleram consideravelmente os bancos de dados. Esta pergunta é sobre como a otimização é alterada.

Para TL;DR, minha pergunta, o advento do uso generalizado de SSD no mercado de servidores (seja futuro ou já ocorrido) reduz a utilidade dos bancos de dados?

Parecia que o que o apresentador estava tentando transmitir era que, com SSDs, é possível armazenar os dados no disco e não ter que se preocupar com a lentidão para recuperá-los, pois com HDDs mais antigos, como com SSDs, os tempos de busca estão próximos O(1)(Eu penso). Então, caso isso fosse verdade, isso hipoteticamente perderia uma das vantagens que tinha: a indexação, porque a vantagem de ter índices para tempos de busca mais rápidos acabou.

database-design performance
  • 4 respostas
  • 7257 Views
Martin Hope
Honinbo Shusaku
Asked: 2016-06-17 04:09:41 +0800 CST

Abstraindo o comportamento de filtragem do Oracle SQL Function

  • 0

Eu tenho uma função Oracle SQL, que retorna vários registros por meio de várias subconsultas. No entanto, existem inúmeros filtros que podem ser aplicados a esses registros de resultados.

Em uma linguagem de programação de aplicativos, eu seria capaz de abstrair o comportamento de filtragem, permitindo um parâmetro de função para minha função, ou seja, um retorno de chamada em JS ou um objeto de interface funcional em Java.

Outra possibilidade é ter parâmetros opcionais ou sobrecarga de função , mas ainda não é escalável em relação a diferentes demandas de filtragem. Além disso, não funcionará em procedimentos ou funções armazenadas.

Sou novo em escrever procedimentos e funções SQL, então gostaria de saber se existe alguma outra opção além de usar uma linguagem de programação de aplicativo?

oracle stored-procedures
  • 1 respostas
  • 63 Views
Martin Hope
Honinbo Shusaku
Asked: 2016-06-16 10:34:51 +0800 CST

Como posso usar uma variável de matriz dentro do operador IN para Oracle SQL?

  • 6

Declaro um tipo TYPE arr_type is TABLE of VARCHAR2(11 BYTE);e inicializo-o: MY_array arr_type := arr_type();.

Eu insiro alguns varchars nele e tento usá-lo com um operador IN.

set serveroutput on;
DECLARE
  TYPE arr_type is TABLE of VARCHAR2(11 BYTE);
  my_array arr_type := arr_type();
  my_array_two arr_type := arr_type();
BEGIN 

  SELECT MY_ID BULK COLLECT INTO my_array FROM XYZ_REQUEST;
  SELECT ANOTHER_ID BULK COLLECT INTO my_array_TWO FROM ABC_REQUEST WHERE PARENT_ID IN my_array;

   FOR i IN 1..cm_array.COUNT LOOP
     DBMS_OUTPUT.PUT_LINE(my_array(i));
   END LOOP; 
END; 
/

Eu recebo o erro: local collection types not allowed in SQL statementsna linha que contém: SELECT ANOTHER_ID BULK COLLECT INTO my_array_TWO FROM ABC_REQUEST WHERE PARENT_ID IN my_array;, mas não faz sentido porque se eu comentar essa linha, my_arrayimprime bem, o que significa TYPE arr_type is TABLE of VARCHAR2(11 BYTE);.

Eu suspeito que o problema é porque estou tentando usar uma matriz ilimitada com o operador IN, ou seja, PARENT_ID IN my_array.

Eu tentei envolver a variável entre parênteses, mas não ajuda. Como posso usar o operador IN com uma matriz?

Entendo que neste caso posso usar subconsultas ou junções, mas gostaria de saber se é possível usar um array com um operador IN.

oracle plsql
  • 1 respostas
  • 33368 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