[Проект] SQL parser library; SQL anonymizer library & app

  1. Здравейте,

    Ще започна от моя конкретен проблем, който се надявам да реша с проекта си. След това ще обясня малко по-подробно какво точно бих искал да реализирам.

    Сценарий

    В работата ми, относително често ми се налага да правя следната процедура:

    1. Копирам production база данни на локалната си машина:
      mysqldump <produnction_db_params> | mysql <local_db_params>
      

      Доста често не я pipe-вам директно, а използвам и междинен файл.

    2. Изпълнявам някаква поредица от SQL заявки, които анонимизират данните в базата
      mysql <local_db_params> < db-anon.sql
      

      Този скрипт зачиства или сменя някои важни данни в базата като email адреси, телефонни номера, имена на клиент, адреси и т.н.

      Това се прави с цел новата база данни да може да се качи безопасно на разни тестови машини, които хем да имат скорошно актуално и относително консистентно копие на production базата данни, хем да нямат sensitive данни за клиенти. Като допълнителен бонус, ако сменим всички email-и на клиенти да са "testuser@mailinator.com", няма как без да искаме да пратим email на истински клиент от тестовата система :).

    3. Качвам вече анонимизираната база данни на тестов сървър
      mysqldump <local_db_params> | mysql <test_db_params>
      

    Идея за проект

    Бих искал да направя следния проект:

    1. Библиотека за parse-ване на SQL синтаксис (като начало MySQL и ако остане време - PostgreSQL). Мисля, че освен нормално парсване на даден стринг, ще трябва да поддържда и streaming режим на парсване, доколкото това е възможно.
    2. Библиотека за анонимизиране на SQL: нещо, което използва първата библиотека и при подаден файл с инструкции, извършва анонимизация на данните.
    3. Приложение, което ползва двете библиотеки и ми върши работа при описания по-горе сценарий.

Трябва да сте влезли в системата, за да може да отговаряте на теми.