Tibre - Tibero

Tibre
Desenvolvedor (s) TmaxData
Versão estável
6 / abril de 2015 ( 2015-04 )
Sistema operacional HP-UX , AIX , Solaris , Linux , Windows
Plataforma Plataforma cruzada
Modelo RDBMS
Licença Proprietário
Local na rede Internet www .tmaxdata .com

Tibero é um sistema de gerenciamento de banco de dados relacional (RDBMS) desenvolvido pela TmaxData. Desde 2003, a TmaxData tem desenvolvido o Tibero, o primeiro DBMS baseado em disco na Coréia. Em 2008, a TmaxData se tornou a segunda empresa do mundo a ter sucesso no desenvolvimento de tecnologia de cluster baseada em disco compartilhado e a forneceu como Tibero Active Cluster (TAC). Foi listada no Gartner Magic Quadrant como uma empresa de rápido crescimento na área de RDBMS em 2015. Seus principais produtos são Tibero (RDBMS), ZetaData (dispositivo de banco de dados), ProSync (Change Data Capture), SysMaster DB (monitoramento de banco de dados) e SuperData (análise de dados).

O Tibero é uma alternativa ao Oracle DBMS devido à sua total compatibilidade com funções Oracle, incluindo Oracle SQL.

O Tibero garante transações de banco de dados confiáveis, que são conjuntos lógicos de instruções SQL, oferecendo suporte a Atomicidade, Consistência, Isolamento e Durabilidade (ACID). Ele fornece sincronização aprimorada entre bancos de dados, o que permite um serviço de banco de dados confiável em um ambiente de vários nós.

A Tibero implementou uma arquitetura Tibero Thread exclusiva para lidar com as desvantagens dos DBMSs anteriores. Como resultado, o Tibero pode fazer uso eficiente dos recursos do sistema, como CPU e memória, com menos processos do servidor. Isso garante que o Tibero ofereça alto desempenho, confiabilidade e escalabilidade, ao mesmo tempo que facilita funções de desenvolvimento e administração eficientes. Além disso, ele fornece aos usuários e desenvolvedores várias interfaces de desenvolvimento padrão para fácil integração com outros SGBDs e ferramentas de terceiros.

Além disso, o Tibero adota a tecnologia de block transfer para melhorar o TAC, o clustering de banco de dados compartilhado que é semelhante ao Oracle RAC. Por meio da função aprimorada, o Tibero oferece suporte à otimização de desempenho com autoajuste, monitoramento de banco de dados confiável e gerenciamento de desempenho.

A TmaxData tem demonstrado um crescimento de dois dígitos a cada ano, como uma empresa profissional de banco de dados na Coréia. O Tibero foi adotado por mais de 1.200 clientes em todo o mundo em julho de 2021.

Produtos de sistema de gerenciamento de banco de dados relacional

  • Tibero é um DBMS padrão baseado em modelo relacional que foi desenvolvido com arquitetura estável que requer recursos mínimos desde a etapa de design. Ele permite responder com eficiência às solicitações de processamento de big data de sessões massivas. Além disso, ele fornece um desenvolvimento flexível e amigável e um ambiente de operação fácil baseado em padrões e compatibilidade. - Multiprocessos, arquitetura multithread e várias tecnologias de processamento de dados, que oferecem suporte ao gerenciamento de recursos confiável e eficaz e processam rapidamente solicitações de vários usuários. - Clustering ativo baseado em disco compartilhado que garante alta disponibilidade e confiabilidade. - Compatibilidade do ambiente de desenvolvimento em conformidade com as normas.
  • ZetaData é um produto de aplicação de banco de dados que integra o software Tibero com sistemas de hardware de fornecedores globais como a Lenovo. Ele consiste em servidores de banco de dados replicados com servidores TAC e de armazenamento de dados e usa a interface InfiniBand para transferência de big data entre servidores e comunicação interna. Os servidores de banco de dados têm instnaces TAS para virtualização e gerenciamento de armazenamento, bem como instâncias TAC, e os servidores de armazenamento pré-processam big data com seus próprios recursos, como Function Offloading e Storage Data Map antes de enviá-los para um servidor de banco de dados.

Produtos de integração de banco de dados

  • Tibero ProSync é uma solução integrada de compartilhamento de dados [ buzzword ] que replica dados em servidores de banco de dados. Todas as alterações de dados em um servidor são replicadas em outro servidor em tempo real. Ele envia os dados necessários para um banco de dados de destino em tempo real enquanto preserva a integridade dos dados.

Produtos de monitoramento de banco de dados

  • O SysMaster DB integra e gerencia servidores de banco de dados distribuídos em vários servidores. Suas telas intuitivas permitem que os usuários monitorem vários bancos de dados por meio de um único serviço de aplicativo da web. Por meio da WebUI, os DBAs podem monitorar o desempenho e os erros do banco de dados em tempo real e gerenciar usuários de banco de dados e objetos de usuário de maneira fácil e rápida.

Produtos de análise de dados

  • SuperData é uma plataforma analítica de IA que oferece suporte à virtualização de dados. Ele fornece conexão, coleta, armazenamento, modelagem, análise e visualização de fontes de dados para utilização e análise de dados. Ele permite acessar facilmente fontes de dados heterogêneas e oferece autoanálise baseada em IA.

História

- Ano de 2003, Fundação da empresa, TmaxData (o nome da empresa foi posteriormente alterado de TIBERO em 2014)

- Ano de 2006, lançou um RDBMS comercial baseado em disco, Tibero pela primeira vez

- Ano de 2008, desenvolveu a segunda tecnologia mundial de clustering de banco de dados (TAC)

- Ano de 2009, a primeira certificação internacional OpenGIS na Coréia

- Ano de 2014, recebeu prêmios de qualidade de produto de software da Coreia

- Ano de 2016, recebeu prêmios de tecnologia da Coreia do Ministro do Comércio, Indústria e Energia

- Ano de 2019, Assinado um MOU com Hyundai Motor Group para adoção de Tibero como o DBMS principal e diversificação de DBMS

- Ano 2020, Adotado para sistema 'e-Learning' para reabertura de escolas online e sistema de Fundo de Alívio de Emergência, no âmbito do COVID-19

- Ano de 2021, ganhou o projeto do sistema de informação de próxima geração para a arrecadação de receitas do governo local

Arquitetura

O Tibero usa vários processos de trabalho e cada processo de trabalho usa vários threads. O número de processos e threads pode ser alterado. As solicitações do usuário são tratadas pelo pool de threads, mas remove a sobrecarga do dispatcher, que trata do processamento de entrada / saída. O uso de memória e o número de processos do sistema operacional podem ser reduzidos usando o pool de threads. O número de processos simultâneos pode ser alterado.

Conceitos

  • Processo múltiplo, estrutura multithread
    • Cria antecipadamente os processos e threads necessários que aguardam o acesso do usuário e respondem imediatamente às solicitações, diminuindo o uso de memória e a sobrecarga do sistema.
    • Resposta rápida às solicitações do cliente
    • Confiabilidade no desempenho da transação com maior número de sessões
    • Sem criação ou encerramento de processo
    • Minimiza o uso de recursos do sistema
    • Gerencia de forma confiável a carga do sistema
    • Ocorrências minimizadas de mudança de contexto entre processos
  • Mecanismo de sincronização eficiente entre memória e disco
    • Gestão baseada no padrão TSN (Número do Sistema Tibero)
    • Sincronização por meio de evento de Check Point
    • Estrutura de cache baseada em LRU (menos usado recentemente)
    • Verifique o ajuste do ciclo do ponto para minimizar I / Os do disco

Processos

Tibero tem os três processos a seguir:

Ouvinte

O ouvinte recebe solicitações de novas conexões de clientes e as atribui a um thread de trabalho disponível. O ouvinte desempenha uma função intermediária entre clientes e threads de trabalho usando um arquivo executável independente, tblistener.

Processo de trabalho ou processo de primeiro plano

  • Um processo de trabalho se comunica com os processos do cliente e trata das solicitações do usuário. O Tibero cria vários processos de trabalho quando um servidor começa a oferecer suporte a conexões de vários processos de cliente. O Tibero lida com trabalhos usando threads para usar os recursos de forma eficiente.
  • Um processo de trabalho consiste em um thread de controle e vários threads de trabalho. Um processo de trabalho contém um thread de controle e dez threads de trabalho por padrão. predefinição. O número de threads de trabalho por processo pode ser definido usando o parâmetro de inicialização e, após o início do Tibero, esse número não pode ser alterado.
  • Thread de controle Cria tantos threads de trabalho quanto especificado no parâmetro de inicialização quando o Tibero é iniciado, aloca novas solicitações de conexão do cliente para um thread de trabalho ocioso e verifica o processamento do sinal.
  • Um thread de trabalho se comunica diretamente com um único processo cliente. Ele recebe e trata as mensagens de um processo do cliente e retorna o resultado. Ele lida com a maioria dos trabalhos de DBMS, como análise e otimização de SQL. Mesmo depois que um thread de trabalho é desconectado de um cliente, ele não desaparece. Ele é criado quando o Tibero é iniciado e é removido quando o Tibero é encerrado. Isso melhora o desempenho do sistema, pois os threads não precisam ser criados ou removidos, mesmo se as conexões com os clientes precisarem ser feitas com frequência.

Processo de fundo

Processos em segundo plano são processos independentes que executam principalmente operações de disco demoradas em intervalos especificados ou a pedido de um thread de trabalho ou outro processo em segundo plano.

A seguir estão os processos que pertencem ao grupo de processos em segundo plano:

Monitorar Thread (MTHR)
  • O thread do monitor é um único processo independente, apesar de ser denominado Monitor Thread. É a primeira coisa criada após o Listener quando o Tibero é iniciado. É o último processo a terminar quando o Tibero termina. O encadeamento do monitor cria outros processos quando o Tibero é iniciado e verifica o status de cada processo e bloqueia periodicamente.
Gravador de sequência (AGENT ou SEQW)
  • O processo de sequência executa trabalhos internos para o Tibero que são necessários para a manutenção do sistema.
Gravador de bloco de dados (DBWR ou BLKW)
  • Este processo grava blocos de dados alterados no disco. Os blocos de dados gravados geralmente são lidos diretamente por threads de trabalho.
Processo de ponto de verificação (CKPT)
  • O processo de checkpoint gerencia o Checkpoint. Checkpoint é um trabalho que grava periodicamente no disco todos os blocos de dados alterados na memória ou quando um cliente o solicita. O ponto de verificação evita que o tempo de recuperação exceda um certo limite se ocorrer uma falha em Tibre.
Gravador de registro (LGWR ou LOGW)
  • Este processo grava arquivos de log de redo no disco. Os arquivos de log contêm todas as informações sobre as alterações nos dados do banco de dados. Eles são usados ​​para processamento e restauração de transações rápidas.

Recursos

O Tibero RDBMS fornece links de banco de dados distribuídos, replicação de dados, clustering de banco de dados ( Tibero Active Cluster ou TAC ) que é semelhante ao Oracle RAC ., Processamento de consulta paralela e otimizador de consulta. Ele está em conformidade com as especificações do padrão SQL e interfaces de desenvolvimento e garante alta compatibilidade com outros tipos de bancos de dados. Outros recursos incluem; Bloqueio em nível de linha, controle de simultaneidade de várias versões, processamento de consulta paralela e suporte a tabela de partição.

Principais características

Links de banco de dados distribuídos

  • Armazena dados em uma instância de banco de dados diferente. Usando esta função, uma operação de leitura ou gravação pode ser executada para dados em um banco de dados remoto em uma rede. As soluções RDBMS de outros fornecedores também podem ser usadas para operações de leitura e gravação.

Replicação de dados

  • Esta função copia todo o conteúdo alterado do banco de dados operacional para um banco de dados de reserva. Isso pode ser feito enviando logs de alterações por meio de uma rede para um banco de dados de reserva, que então aplica as alterações aos seus dados.

Clustering de banco de dados

  • Esta função resolve os maiores problemas de qualquer RDBMS corporativo, que são alta disponibilidade e alto desempenho. Para isso, o Tibero RDBMS implementa uma tecnologia chamada Tibero Active Cluster .
  • O clustering de banco de dados permite que várias instâncias de banco de dados compartilhem um banco de dados com um disco compartilhado. É importante que o cluster mantenha a consistência entre os caches de banco de dados internos das instâncias. Isso também é implementado no TAC .

Processamento de consulta paralela

  • Os volumes de dados para empresas estão aumentando continuamente. Por isso, é necessário ter uma tecnologia de processamento paralelo que forneça o máximo de uso dos recursos do servidor para processamento massivo de dados. Para atender a essas necessidades, o Tibero RDBMS suporta funções de processamento paralelo de transações otimizadas para OLTP ( processamento de transações online ) e funções de processamento paralelo de SQL otimizadas para OLAP ( processamento analítico online ). Isso permite que as consultas sejam concluídas mais rapidamente.

O otimizador de consulta

  • O otimizador de consulta decide o plano mais eficiente, considerando vários métodos de tratamento de dados com base em estatísticas para os objetos de esquema.

Bloqueio de nível de linha

  • O Tibero RDBMS usa bloqueio de nível de linha para garantir controle de bloqueio de baixa granularidade. Ele maximiza a simultaneidade bloqueando uma linha, a menor unidade de dados. Mesmo se várias linhas forem modificadas, DMLs simultâneos podem ser executados porque a tabela não está bloqueada. Por meio desse método, o Tibero RDBMS oferece alto desempenho em um ambiente OLTP .

Cluster Tibero Active

O Tibero RDBMS permite um gerenciamento estável e eficiente de SGBDs e garante o processamento de transações de alto desempenho, usando a tecnologia Tibero Active Cluster (doravante TAC), que é uma operação de failover baseada em um ambiente de sistema de cluster de disco compartilhado. O TAC permite que instâncias em nós diferentes compartilhem os mesmos dados por meio do disco compartilhado. Suporta operação estável do sistema (24x365) com função de failover e processamento otimizado da transação, garantindo a integridade dos dados na memória de cada instância.

  • Garante a continuidade dos negócios e oferece suporte a confiabilidade e alta disponibilidade
  • Suporta balanceamento de carga completo
  • Garante a integridade dos dados
  • Compartilha um cache de buffer entre as instâncias, usando o Cache Global
  • Monitora uma falha verificando o HeartBeat por meio do TBCM

O TAC é a principal característica do Tibero por fornecer alta escalabilidade e disponibilidade. Todas as instâncias executadas em um ambiente TAC executam transações usando um banco de dados compartilhado. O acesso ao banco de dados compartilhado é controlado mutuamente quanto à consistência e conformidade dos dados. O tempo de processamento pode ser reduzido porque um trabalho maior pode ser dividido em trabalhos menores e, então, os trabalhos podem ser executados por vários nós. Vários sistemas compartilham arquivos de dados com base em discos compartilhados. Os nós agem como se usassem um único cache compartilhado, enviando e recebendo os blocos de dados necessários para organizar o TAC por meio de uma rede privada de alta velocidade que conecta os nós. Mesmo se um nó parar durante a operação, outros nós continuarão seus serviços. Essa transição acontece de forma rápida e transparente.

TAC é um sistema de cluster no nível do aplicativo. Ele fornece alta disponibilidade e escalabilidade para todos os tipos de aplicativos. Portanto, é recomendável aplicar uma arquitetura de replicação não apenas para servidores, mas também para hardware e dispositivos de armazenamento. Isso ajuda a melhorar a alta disponibilidade. O IP virtual (VIP) é atribuído a cada nó em um cluster TAC. Se um nó no cluster TAC falhar, seu IP público não pode ser acessado, mas o IP virtual será usado para conexões e para failover de conexão.

Componentes principais

A seguir estão os principais componentes do TAC.

Serviço de bloqueio de espera de cluster (CWS)

  • Ativa o Wait-lock existente (doravante Wlock) para operar em um cluster. O Distributed Lock Manager (doravante DLM) está integrado neste módulo.
  • Wlock pode acessar o CWS por meio do GWA. Os processos em segundo plano relacionados são LASW, LKDW e RCOW.
  • Wlock controla a sincronização com outros nós por meio do CWS em ambientes TAC que oferecem suporte a várias instâncias.

Adaptador global Wait-Lock (GWA)

  • Define e gerencia o CWS Lock Status Block (doravante LKSB), o identificador para acessar o CWS e seus parâmetros.
  • Altera o modo de bloqueio e o tempo limite usado no Wlock dependendo do CWS e registra o Trap Assíncrono Completo (doravante CAST) e Trap Assíncrono de Bloqueio (doravante BAST) usado no CWS.

Controle de cache de cluster (CCC)

  • Controla o acesso a blocos de dados em um cluster. DLM está integrado.
  • Os serviços CR Block Server, Current Block Server, Global Dirty Image e Global Write estão incluídos.
  • A camada de cache pode acessar o CCC por meio do GCA (Global Cache Adapter). Os processos em segundo plano relacionados são: LASC, LKDC e RCOC.

Adaptador de cache global (GCA)

  • Fornece uma interface que permite à camada de cache usar o serviço CCC.
  • Define e gerencia o CCC LKSB, o identificador para acessar o CCC e seus parâmetros. Ele também altera o modo de bloqueio de bloco usado na camada Cache para o CCC.
  • Salva blocos de dados e logs de redo para o evento de bloqueio do CCC e oferece uma interface para o DBWR solicitar uma gravação global e para o CCC solicitar uma gravação de bloco do DBWR.
  • O CCC envia e recebe blocos CR, blocos sujos globais e blocos atuais por meio do GCA.

Controle de transmissão de mensagens (MTC)

  • Resolve o problema de perda de mensagens entre nós e mensagens fora de ordem.
  • Gerencia a fila de retransmissão e a fila de mensagens fora de ordem.
  • Garante a confiabilidade da comunicação entre os nós em módulos como CWS e CCC, fornecendo General Message Control (GMC). Inter-Instance Call (IIC), Distributed Deadlock Detection (doravante DDD) e Automatic Workload Management atualmente usam GMC para comunicação entre nós.

Comunicação entre nós (INC)

  • Fornece conexões de rede entre nós.
  • Fornece topologia e protocolos de rede de forma transparente para usuários de INC e gerencia protocolos como TCP e UDP.

Node Membership Service (NMS)

  • Gerencia os pesos que mostram a carga de trabalho e as informações recebidas do TBCM, como ID do nó, endereço IP, número da porta e número da encarnação.
  • Fornece uma função para pesquisar, adicionar ou remover membros do nó. O processo de segundo plano relacionado é NMGR.

Leitura adicional

  • Ahn, Jeong-Kyun (2011-10-25). "Gerencie seu banco de dados com TIBERO" . Korea IT Times . Página visitada em 2013-11-22 .

Referências

  1. ^ A TmaxData vende produtos Tibero desenvolvidos pela TmaxData com Distribuição Exclusiva, que a TmaxTibero global business é distribuída pela marca TmaxSoft e a TmaxSoft é a sede global da empresa.
  2. ^ "TmaxSoft e Tibero lançam soluções de big data" . Korea Herald. 10/09/2013 . Página visitada em 2013-11-22 .
  3. ^ a b Folheto de Tibero RDBMS . TmaxSoft. p. 3
  4. ^ a b http://technet.tmaxsoft.com/en/front/main/main.do
  5. ^ "DBMS 국내 기업 들의 '3 사 3 색' 생존 전략" (em coreano). inews24. 03/07/2012 . Página visitada em 2013-11-21 .
  6. ^ Guia do Administrador do Tibero v5.0 v2.1.2 pt . 25/02/2013. pp. 1–2.
  7. ^ a b em coreano
  8. ^ Folheto da base de dados Tibero
  9. ^ Tibero Active Cluter (em coreano). TmaxSoft.

links externos