Análise de dados na nuvem: duas boas opções de Big Data “NoSQL” para as PMEs

Algumas estimativas sugerem que até 2015 o universo digital crescerá para 8 zettabytes de dados (1 zettabyte = 1.000.000.000.000.000.000.000 bytes). Muito se tem escrito nos últimos anos sobre o “Big Data” e as implicações para o gerenciamento de informações e para a análise de dados. Simplificando, Big Data são os dados que são grandes demais para serem processados usando métodos tradicionais.

Por “métodos tradicionais” nos referimos aos ambientes de banco de dados relacionais (RDBMS), nos quais os dados são organizados em um conjunto de tabelas formalmente descritas e muitas vezes acessadas utilizando a linguagem SQL (Structured Query Language). Esses sistemas foram projetados há décadas, quando os dados eram muito mais estruturados e menos acessíveis. Com o desenvolvimento de tecnologias web e arquiteturas de código aberto, os sistemas de gerenciamento de banco de dados também evoluíram. A expressão mais …

[Leia mais]
Desenvolvimento PHP usando máquinas virtuais, FastCGI + FPM

Há algum tempo, tenho realizado meus projetos usando Virtual Machines (VMs) e tem sido bem produtivo, além de eu deixar minha máquina principal livre quando não estou desenvolvendo. Outra vantagem é ter à mão o SO de produção, com suas dependências e problemas. Vou passar uma receitinha de bolo, levantando um ambiente LAMP em um Ubuntu, conectado com a máquina principal (o que nos permite centralizar o código e testar em diferentes ambientes).

Para dar uma apimentada na receita, vou utilizar Fastcgi e PHP-FPM (vale a pena ir mais a fundo no assunto, começando pelo site do projeto), além de revelar alguns truques que me são muito úteis no dia-a-dia de desenvolvedor.

Ingredientes

  • Instalador/pacote do VirtualBox (obtida aqui) – foi utilizada a versão 4.1.8.
  • Uma imagem …
[Leia mais]
[MySQL] – Tipos de Dados (Data Types)

Pessoal, neste post vou falar sobre os tipos de dados suportados pelo MySQL e suas derivações. Quando falamos em tipos de dados, isso está inteiramente ligado a normalização e criação das tabelas do seu esquema (Schema) ou banco de dados … Continuar lendo →

Comment on Criando conexão com PHP+MYSQL no Dreamweaver – Correção by LORD LEAL

É SÓ INSTALAR O APAHCE 2.2 DO SITE DO BAIXAKI….QUE RESOLVE….!!!!!!!

Formatar data no MySQL usando date format

Fala galera, hoje vamos falar sobre como formatar datas no MySQL.
Para este tutorial, estou usando o mysql server 5.5
Basicamente o que você precisa saber e utilizar a função DATE_FORMAT do mysql
vamos criar uma tabela e popular ela com algumas datas:

CREATE TABLE IF NOT EXISTS `dates` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

INSERT INTO `dates` (`id`, `date`) VALUES
(1, '2012-10-17 13:39:55'),
(2, '2012-10-09 09:23:11'),
(3, '2012-08-24 16:47:07');

Beleza? então agora vamos restaurar esse valores e exibi-los de forma correta:

SELECT id, DATE_FORMAT( `date` , '%d/%c/%Y %H:%i:%s' ) AS `date` FROM `dates`

Fácil NE? …

[Leia mais]
Usando a técnica stitch-and-query

O problema N+1

É mais fácil descrever o problema N+1 através de exemplo. Dê uma olhada no seguinte trecho de PHP em app hipotético de blog:

<?php
/**
* @var Solar_Sql_Adapter|Zend_Db_Adapter
* $sql An SQL database connection object.
*/

// 1 query to get 10 blog posts.
$stmt = 'SELECT * FROM posts LIMIT 10';
$posts = $sql->fetchAll($stmt);

// 10 queries (1 per blog post) to get
// the comments for each post
foreach ($posts as &$post) {

$stmt = 'SELECT *
FROM comments
WHERE post_id = :post_id';

$bind = array(
'post_id' => $post['id'],
);

$post['comments'] = $sql->fetchAll(
$stmt,
$bind
);
}

Temos um conjunto mestre de linhas (as postagens do blog), mas precisamos ainda buscar muitas linhas de comentários para cada artigo do blog. Para fazer isso, nós fizemos um loop pelo conjunto mestre de linhas e lançamos uma query para cada um. Isso leva a várias linhas de comentários para esse artigo do blog.

[Leia mais]
[MySQL] Série de posts 6 - Teoria: Estruturas de memória

<!-- @page { margin: 2cm } H3 { margin-bottom: 0.21cm } H3.western { so-language: pt-BR } H3.cjk { font-family: "WenQuanYi Micro Hei" } H3.ctl { font-family: "Lohit Hindi" } P { margin-bottom: 0.21cm } P.western { so-language: pt-BR }  

 Bom pessoal o objetivo deste post é trazer um esclarecimento quanto a estrutura de memória que o MySQL trabalha, que para alguns

Nginx vs Lighttpd

Introdução

Há uma grande quantidade de servidores web. Cada um possui seus próprios benefícios, vantagens e propósitos…

O líder é o Apache, sem dúvidas. Mas há, pelo menos, dois outros servidores que são bons o bastante para serem mencionados: Nginx e Lighttpd.

Escopo

Hoje, uma das questões mais debatidas em discussões sobre servidores web é “Qual é o melhor: Lighttpd ou Nginx?”. Neste artigo, vamos tentar ajudar os administradores de rede decidir se devem usar Lighttpd ou Nginx.

Objetivo

Este artigo não é uma tentativa de provar a vantagem de algum servidor, mas apenas um exemplo de testes de comparação real. O objetivo é comparar dois servidores web, sem fazer qualquer ajuste de desempenho em configurações. Todos devem trabalhar com as configurações padrão. …

[Leia mais]
Melhorando a consistência do ambiente de desenvolvimento

Cada desenvolvedor é diferente, porém o ambiente da sua equipe de desenvolvimento não precisa ser. Um aplicativo  web moderno usa muitas tecnologias diferentes. As dependências comuns para um ambiente de desenvolvimento web funcionar incluem PHP e suas extensões necessárias, um servidor web, um banco de dados, frameworks de testes, e outros aplicativos e serviços. A abordagem clássica para ajudar uma equipe de desenvolvedores é implementar um servidor e instalar todos os pacotes necessários para o desenvolvimento. Essa metodologia fornece um ambiente consistente para todos os desenvolvedores da equipe, garantindo que todos os colaboradores recebam a mesma experiência durante todo o ciclo do desenvolvimento. No entanto, tão consistente quanto um desenvolvimento homogêneo e remoto pode ser, o desenvolvimento remoto apresenta uma série de problemas, incluindo sacrifícios de velocidade e uma dependência desagradável de uma conexão …

[Leia mais]
CHAR ou VARCHAR? Que tipo de campo escolher no MySQL?

Ambos os tipos de campo “texto” podem ser definidos com um comprimento máximo no MySQL. A principal diferença entre os dois tipos de campos é que o CHAR sempre armazenará o texto com o tamanho fixo, mesmo que o “texto” seja menor do que o tamanho máximo especificado na criação do campo. Neste caso, o próprio SGBD do MySQL irá usar espaços a direita do “texto” preenchendo o campo até a quantidade máxima especificada em sua criação. Note, que esses espaços serão removidos quando você recuperar os dados a armazenados.

Por outro lado, “textos” armazenadas em uma coluna VARCHAR exigem apenas o tamanho do “texto” armazenado. Portanto, a palavra “ivo” em uma coluna VARCHAR(10) irá requerer quatro bytes de espaço (o comprimento do “texto” mais 1), enquanto em uma coluna CHAR(10), a mesma palavra exigirá 10 bytes de …

[Leia mais]