---
# System prepended metadata

title: big data 3

---

## BigData

### Big Data: Refere-se a conjuntos de dados extremamente grandes e complexos que exigem soluções especiais para processamento e análise eficientes. Isso inclui a coleta, armazenamento, processamento, análise e visualização de grandes volumes de dados.

### Baixa Latência: Indica um curto período de tempo entre o envio de uma solicitação e a recepção de uma resposta. Em contextos de Big Data, a baixa latência é crucial para garantir que as consultas e operações sobre grandes conjuntos de dados sejam realizadas rapidamente.

### Adaptabilidade: Refere-se à capacidade de um sistema ou arquitetura de se ajustar e responder de forma eficaz a mudanças nas condições ou nos requisitos do ambiente. Isso pode incluir a capacidade de lidar com variações na carga de trabalho, mudanças nos padrões de dados, falhas de hardware, entre outros.

### Escalabilidade: Relaciona-se com a capacidade de um sistema ou arquitetura de lidar com o aumento da carga de trabalho ou de dados sem sacrificar o desempenho. Em contextos de Big Data, a escalabilidade é fundamental para lidar com grandes volumes de dados e garantir que o sistema possa crescer conforme necessário.

### Resiliência: Refere-se à capacidade de um sistema de se recuperar de falhas ou interrupções de forma rápida e eficiente, mantendo a continuidade das operações. Isso é importante em ambientes de Big Data, onde a disponibilidade contínua dos dados e dos serviços é essencial.

### Processamento em Tempo Real: Indica a capacidade de processar e analisar dados à medida que eles são gerados, em vez de esperar por lotes de dados para análise posterior. Isso é essencial para aplicações que exigem respostas imediatas com base em dados em constante fluxo.

### Arquitetura Distribuída: Refere-se a uma abordagem de design onde o processamento e armazenamento de dados são distribuídos entre vários nós ou servidores em uma rede. Isso permite escalabilidade, redundância e tolerância a falhas em sistemas de Big Data.

### Paralelismo: Indica a capacidade de executar várias operações simultaneamente para melhorar o desempenho e a eficiência do processamento de dados. Isso é fundamental para lidar com grandes volumes de dados de forma rápida e eficaz.

## 5 Vs Big Data
 
- Variedade, volume, veracidade, valor e velocidade são os “5 Vs” do Big Data

### Veracidade da Infromação

### Precisão: A informação precisa ser precisa e livre de erros ou distorções. Isso significa que os dados devem refletir com precisão a realidade ou o fenômeno que estão tentando representar. Erros nos dados podem levar a interpretações incorretas e decisões equivocadas.

### Credibilidade: A credibilidade está relacionada à confiabilidade da fonte da informação. Dados provenientes de fontes confiáveis ​​são mais propensos a serem verdadeiros e precisos. Avaliar a credibilidade da fonte é essencial para determinar a veracidade dos dados.

### Integridade: A integridade dos dados refere-se à completude e à exatidão dos dados. Isso envolve garantir que os dados não foram corrompidos, perdidos ou modificados de forma não autorizada. A integridade dos dados é crucial para garantir que as informações sejam confiáveis e não tenham sido adulteradas.

### Consistência: Os dados devem ser consistentes ao longo do tempo e em diferentes fontes. Inconsistências nos dados podem indicar problemas de qualidade ou conflitos entre fontes de informação. Garantir a consistência dos dados é fundamental para manter a veracidade das informações.

### Transparência: A transparência refere-se à disponibilidade de informações sobre a origem, o processo de coleta e manipulação dos dados. Uma boa transparência permite que os usuários compreendam como os dados foram gerados e avaliem sua confiabilidade.

### Atualidade: A atualidade dos dados é importante para garantir que as informações refletem a situação mais recente. Informações desatualizadas podem levar a decisões incorretas ou incompletas. Portanto, é fundamental garantir que os dados sejam atualizados regularmente.



## Conceitos Acid e Base

##  ACID _ > Atomicidade, Conscitência, Isolamento e Durabilidade. 

-  sequencial (busca ou não)
- Acid -> transações tudo ou  nada commit ou rollback.

- conscitencia -> transações se mantem em estado de gracação válido.
- isolamaneto transações simultaneas não interferem nos dados uma das outras
- durabilidade -> uma vez que as transações são permantentes.

## Base -> Nosql 


### Armazenamento de Dados 
- Base vs Acid
 
- Basically available, soft state, events-conciestency

- Base _ sempre dispoível, pode mudar dados automaticamente, e muista das vezes ficarem diferentes os dados .
- soft state _ O Estado do banco pode mudar ao  longo do tempo
- Consistencia eventual _ Eventialmente todos os nós do banco serão atualizados e terão memsa versão.
- Sempre os database estará diponível 
- pode adicionar novos livros sem precisar de uma nova organização
- Se esperar um pouco tudo estará nos locais corretos
- Alta disponibilidade, escaliabidade, conscientência eventual.

Arquitetura BigData

![image](https://hackmd.io/_uploads/r1JuNm8Ra.png)

 


## Arquitetura Bi Entrada e Saída 


![image](https://hackmd.io/_uploads/SyiC978CT.png)


## Arquitetura Programas


## Esquema de Comunicação BI

![image](https://hackmd.io/_uploads/H1H3GV80a.png)


## HackMd Solução  Importando os dados de uma planilha para o Pymongo

## systema.py

```cmd=
import pandas as pd
from pymongo import MongoClient
try:
    client = MongoClient('localhost', 27017)
    db = client['databaseum']
    collection = db['vendas']
    print("Conectado com sucesso!")
    caminho_planilha = 'c:/users/edson/aulapython/projetoum.xlsx'
    dados_planilha = pd.read_excel(caminho_planilha)

    for _, row in dados_planilha.iterrows():
        data_dict = row.to_dict()
        collection.insert_one(data_dict)

    print("Dados inseridos no MongoDB com sucesso!")
except Exception as e:
    print ("Error :" , e)
```

## Importando os Dados de uma planilha para SQllite3

## sistemasql.py

```cmd=

import pandas as pd
import sqlite3

def excel_to_sqlite(excel_file, db_file, table_name):
    dados_planilha = pd.read_excel(excel_file)
    
    conexao = sqlite3.connect(db_file)
    
    cursor = conexao.cursor()
    dados_planilha.to_sql(table_name, conexao, if_exists='replace', index=False)
    
    # Confirmar as alterações e fechar a conexão
    conexao.commit()
    conexao.close()

if __name__ == "__main__":
    # Nome do arquivo Excel
    caminho_planilha = 'c:/users/edson/aulapython/projetoum.xlsx'
    
    # Nome do banco de dados SQLite
    db_file = 'dados.db'
    
    # Nome da tabela no banco de dados SQLite
    table_name = 'dados_excel'
    
    # Converter Excel para SQLite
    excel_to_sqlite(caminho_planilha, db_file, table_name)
    
    print("Dados do Excel gravados no banco de dados SQLite com sucesso!")



```


## sudo docker pull cassandra:latest

