No perĂodo de 1890-1970, todo o processamento de big data foi realizado por meio de cartĂ”es perfurados. Os cartĂ”es perfurados, por sua vez, foram processados ââusando o chamado âEquipamento de gravaçãoâ, cujo elo central era o âclassificador de cartĂ”es perfuradosâ eletromecĂąnico. CartĂ”es perfurados e equipamentos relacionados foram usados ââpara resolver uma ampla variedade de tarefas: censo, contabilidade, estoque, folha de pagamento etc.
Como as pessoas trabalhavam com cartÔes perfurados? Qual algoritmo o classificador eletromecùnico de cartÔes perfurados seguiu? Como foi realizada a classificação por campos de dados numéricos? E na corda? Sobre tudo isso - abaixo.

- Uma caracterĂstica marcante do equipamento de gravação dos tempos prĂ©-computador: era originalmente completamente eletromecĂąnico. Ainda nĂŁo havia eletrĂŽnicos para lĂąmpadas. A "inteligĂȘncia" do equipamento de gravação foi construĂda com escovas de arame (para reconhecer furos em cartĂ”es perfurados), um relĂ© eletromecĂąnico e rodas mecĂąnicas (para somar os valores). Apesar de sua primitividade tecnolĂłgica, o âequipamento de gravaçãoâ revolucionou o processamento de big data.
Como as pessoas trabalhavam com cartÔes perfurados?
- Cada cartĂŁo perfurado armazenava um registro de dados (atĂ© 80 dĂgitos ou caracteres). Cada registro de dados consistia em vĂĄrios campos. O classificador de cartĂ”es perfurados organizou os cartĂ”es na ordem necessĂĄria para o operador (de acordo com um dos campos de dados), apĂłs o qual a mĂĄquina, chamada de "tabulador", leu os cartĂ”es perfurados classificados, extraiu os campos necessĂĄrios deles (novamente, especificados pelo operador) e imprimiu o relatĂłrio.
- Como exemplo, considere como cartĂ”es perfurados foram usados ââpara processar faturas. As empresas tinham um cartĂŁo perfurado separado para cada fatura emitida para pagamento (veja o exemplo na figura abaixo). Campos de dados como nĂșmero do fornecedor, data do pagamento, valor do pagamento etc. foram indicados no cartĂŁo perfurado.

- O processo de negĂłcios de processamento automatizado de dados correspondente Ă© o seguinte. O classificador de cartĂ”es perfurados Ă© instruĂdo a classificar os cartĂ”es perfurados pelo nĂșmero do fornecedor. ApĂłs a classificação, os cartĂ”es perfurados sĂŁo passados ââpara o tabulador, que gera um relatĂłrio lendo a linha desejada de cada cartĂŁo perfurado. Um contador mecĂąnico incorporado no tabulador derruba automaticamente o valor total.
- Muitos outros processos de negócios, como folha de pagamento, estoque e cobrança, foram realizados em tempos pré-computador de maneira semelhante.
O princĂpio de operação do classificador eletromecĂąnico de cartĂ”es perfurados
- O classificador pega uma pilha de cartĂ”es perfurados e os classifica de acordo com o campo de dados especificado pelo operador. Por exemplo, pela afiliação de funcionĂĄrios a um departamento especĂfico. Porque Como opção, para que, depois de agrupar funcionĂĄrios por departamentos, gere um relatĂłrio sobre a implementação do plano de vendas por cada um dos departamentos da empresa.
- Para resolver esse problema, os cartÔes perfurados são classificados primeiro com base no campo "departamento" e depois transferidos para o tabulador, que resume o campo "vendas", imprimindo os resultados intermediårios de cada departamento no relatório.
- O operador coloca o pacote de cartĂ”es perfurados que precisam ser classificados em uma bandeja especial, a partir da qual eles sĂŁo direcionados um a um pelo classificador. O classificador lĂȘ os cartĂ”es perfurados e os distribui em 13 bolsos: dez digitais, dois de âzonaâ (para processar valores de sequĂȘncia); e um para cartĂ”es perfurados descartados (que nĂŁo especificam um valor pelo qual a classificação foi realizada).

- O algoritmo usado pelo classificador de cartÔes perfurados é muito diferente dos algoritmos geralmente aceitos atualmente. A principal diferença é que os cartÔes perfurados não se comparam.
Algoritmo de classificação bit a bit
Como, entĂŁo, um classificador de cartĂ”es perfurados consegue fazer seu trabalho? Ele implementa um elegante algoritmo de âclassificação bit a bitâ. A linha inferior: o classificador de cartĂ”es perfurados processa um dĂgito do campo de dados por vez; para classificar por um campo de trĂȘs dĂgitos, um pacote de cartĂ”es perfurados deve ser passado pelo classificador trĂȘs vezes. EntĂŁo o algoritmo:
- Classificando cartÔes perfurados de acordo com um campo de dados numérico especificado pelo operador, o classificador, durante a primeira execução, processa apenas o bit menos significativo desse campo. E de acordo com o valor dessa categoria, ele decide onde deixar cair o cartão perfurado atual: qual dos 10 bolsos digitais (de zero a nono).
- Depois que o classificador termina de distribuir os cartÔes perfurados nos bolsos, o operador os retira e os coloca em um pacote comum. Em ordem: começando do zero e terminando no nono.
- O operador coloca o pacote montado de cartÔes perfurados no classificador e repete as etapas 1 e 2 sequencialmente para cada categoria.
- Tudo, agora os cartÔes perfurados estão classificados.
Vantagens do algoritmo de classificação bit a bit
- O algoritmo de classificação bit a bit Ă© elegante e rĂĄpido. Sua complexidade computacional Ă© O (n log n). Em outras palavras, com um aumento no nĂșmero de cartĂ”es, a duração do algoritmo aumenta linearmente e nĂŁo exponencialmente.
- O algoritmo de classificação bit a bit pode ser tecnicamente implementado como um projeto eletromecùnico simples.
- Apesar de nĂŁo serem colocadas mais de 3600 cartĂ”es na bandeja de entrada de um classificador de cartĂ”es perfurados, ele pode classificar um nĂșmero muito maior de cartĂ”es perfurados se o operador executar as duas açÔes a seguir em tempo hĂĄbil: (1) carregar novos pacotes de cartĂ”es perfurados em uma bandeja em tempo hĂĄbil; (2) esvazie os bolsos digitais em tempo hĂĄbil (para que nĂŁo transbordem).
Como os dados da string sĂŁo codificados
- Como observado acima, os valores numĂ©ricos sĂŁo codificados no cartĂŁo perfurado com orifĂcios. Um buraco na coluna. JĂĄ classificamos sua classificação. Agora resta entender como as strings sĂŁo codificadas no cartĂŁo perfurado e como o classificador as organiza.
- Para trabalhar com seqĂŒĂȘncias de caracteres no classificador de cartĂ”es perfurados, existem dois bolsos "zonais" (11 e 12), alĂ©m de 10 digitais. O princĂpio da codificação de caracteres alfabĂ©ticos Ă© o seguinte (veja a figura abaixo). Cada letra Ă© codificada com dois orifĂcios no cartĂŁo perfurado: um orifĂcio no nĂșmero (de 1 a 9) e um orifĂcio na "zona" (0, 11 ou 12).

- Observe: uma string com zeros Ă© digitalizada ao processar campos de dados numĂ©ricos e âzonalâ ao processar campos de dados de string.
Algoritmo de classificação de cadeia de caracteres
Graças a essa codificação, o classificador pode classificar os campos de dados da sequĂȘncia em ordem alfabĂ©tica. Para fazer isso, ele precisa de duas corridas. O algoritmo Ă© o seguinte:
- Na primeira execução, o classificador de cartĂ”es perfurados organiza os cartĂ”es da mesma maneira que ao classificar campos de dados numĂ©ricos. A diferença Ă© que, com a classificação alfabĂ©tica, apenas nove bolsos estĂŁo envolvidos: do 1Âș ao 9Âș.
- Após a classificação, o operador remove os cartÔes perfurados dos bolsos digitais. Novamente, em ordem (como no caso de pedido por um campo de dados numérico): começando do primeiro bolso e terminando no nono. O operador envia o baralho coletado para classificação pela segunda vez.
- Na segunda execução, o classificador de cartĂ”es perfurados lĂȘ apenas as linhas das âzonasâ (0, 11 e 12) e ignora as linhas com nĂșmeros.
- Como resultado, os cartĂ”es perfurados ordenados sĂŁo distribuĂdos pelo classificador em trĂȘs bolsos âzonaisâ: de A a I sĂŁo colocados no 12Âș bolso; de J a R - no dia 11; de S a Z - no 0Âș.
- Se vocĂȘ precisar classificar nĂŁo por um primeiro caractere, mas por dois ou trĂȘs primeiros caracteres, por exemplo, o processo descrito acima (etapas de um a quatro) serĂĄ executado seqĂŒencialmente para cada caractere. I.e. para cada sĂmbolo, sĂŁo executadas duas execuçÔes no classificador de cartĂ”es perfurados.

Portanto, quando ainda nĂŁo havia computadores, as empresas processavam big data usando cartĂ”es perfurados. Apesar de os cartĂ”es perfurados estarem irrevogavelmente desatualizados, ainda encontramos a influĂȘncia deles sobre o estado atual da tecnologia de computadores - sempre que precisamos tolerar a formatação de texto com linhas de 80 caracteres. Algo semelhante Ă© observado, por exemplo, ao trabalhar com o Far Manager.