Все, кто работает с базами данных, знают, что такое AUTO_INCREMENT. Про него много всего написано, в том числе и на хабре. В этой статье я хочу изложить свои мысли на эту тему, потому что ранее я не встречал рассуждений именно в таком плане. Но сначала давайте определимся, зачем нам вообще база данных.
Читать полностью »
Рубрика «базы данных» - 38
Снова про AUTO_INCREMENT
2015-04-13 в 14:36, admin, рубрики: auto_increment, sql, базы данных, Проектирование и рефакторинг, метки: auto_incrementТеория и практика миграции веб-систем на PostgreSQL
2015-04-01 в 15:06, admin, рубрики: postgresql, Администрирование баз данных, базы данных, Веб-разработка, миграция данных, СУБДВ последние месяцы проблематика миграции работающих систем на open-source решения для хранения данных захватила умы отечественных разработчиков. Особой популярностью в роли целевой платформы пользуется PostgreSQL. Причин тому можно назвать несколько:
- Пребывающая у всех на слуху политика импортозамещения, внедряемая правительством;
- Популяризация PostgreSQL силами энтузиастов и развитие российского сообщества благодаря таким мероприятиям как PG Day и PGConf;
- Расширение функциональных возможностей PostgreSQL, позволяющих разработчикам строить гибкие и «schema-less» приложения, не теряя при этом всех преимуществ СУБД, таких как честные транзакции, отказоустойчивость, возможности масштабирования и др.
Нам удалось убедиться в эффективности PostgreSQL несколько лет назад. Внедрение СУБД позволило ликвидировать серьезный технологический кризис на одном из крупных проектов компании. Подробный рассказ об этой success story состоялся на PG Day’14 Russia, прошедшем в прошлом году в Санкт-Петербурге. С тех пор нам довелось попробовать базу данных для решения широкого спектра проблем.
Читать полностью »
JSONB запросы в PostgreSQL
2015-03-31 в 19:29, admin, рубрики: postgresql, python, web-разработка, базы данных Ранее я писал, как включить поддержку jsonb в postgres/psycopg2. Сегодня экспериментировал с тем, как запрашивать данные в колонках типа JSON.
На эту тему есть документация, но мне было не совсем понятно, как работают различные операции:
CREATE TABLE json_test (
id serial primary key,
data jsonb
);
INSERT INTO json_test (data) VALUES
('{}'),
('{"a": 1}'),
('{"a": 2, "b": ["c", "d"]}'),
('{"a": 1, "b": {"c": "d", "e": true}}'),
('{"b": 2}');
IP-Geo. Оптимизация SQL запроса
2015-03-31 в 7:29, admin, рубрики: IP-адрес, mysql, php, sequel, sql, Администрирование баз данных, базы данных, определение местоположения, метки: ip-адрес, определение местоположения
Здравствуй! Меня зовут Бабичев Максим и я быдлокодер. Это моя первая статья на Хабрахабр, прошу строго не судить.
Нашел на Хабре статью, в которой были базы в двух модификациях: Страны и города и только страны. Также в этих архивах есть небольшие примеры использования таблиц на php.
Сразу хочу сказать, что эта статья рассчитана на новичков, а не на продвинутых гуру.
Читать полностью »
Умереть спокойно не дали: инсценировавшего свою смерть бизнесмена нашла система распознавания лиц
2015-03-27 в 7:05, admin, рубрики: базы данных, безопасность, информационная безопасность, искусственный интеллект, криминалистика, преступники, распознавание лиц, Фототехника Бизнесмена из Флориды обвинили в фальсификации своей смерти за рубежом и арестовали после того, как система распознавания лиц обнаружила совпадение фото из заявления на выдачу паспорта с фотографией из старых документов. Бизнесмена также обвинят в мошенничестве со страховой компанией: его семья пыталась забрать страховую сумму.
Читать полностью »
Apple в 2013 году тайно купила стартап Acunu: информация попала в СМИ только сейчас
2015-03-27 в 6:41, admin, рубрики: apple, анализ данных, базы данных, поглощения, слияния, слияния и поглощения, стартапы, финансы в IT На этой неделе Apple выкупила компанию FoundationDB, которая занимается созданием noSQL базы данных для работы с веб-приложениями. Позже Bloomberg стало известно, что корпорация еще в 2013 году купила стартап для анализа данных Acunu и никому не сообщила об этом.
Читать полностью »
Что такое Excel hell и как с ним бороться
2015-03-26 в 13:11, admin, рубрики: customer development, Excel, excel hell, базы данных, История ИТ, Софт, Финансы в IT-индустрии, метки: excel, excel hell Excel hell — это состояние, когда много важной для компании информации содержится в excel-файлах сотрудников, происходит постоянный обмен этими файлами по почте, и сложно сказать у кого самая последняя и правильная версия. Для получения общей картины нужно сводить данные из этих файлов в один, что на практике часто сводится к copy-paste, занимает много времени и приводит к ошибкам. В итоге люди мало того что с трудом получают информацию, но еще и рискуют принять неправильные решения на основе устаревших или вовсе неправильных данных. Звучит ужасно, но похоже что это не редкость, и нельзя сказать что ситуация улучшается. Как мы к этому пришли?
Из этой статьи вы узнаете, что такое Excel hell, почему не взлетел Lotus Improv и какая стартап-идея из списка Пола Грэма “Startup Ideas We'd Like to Fund” до сих пор не имеет хорошего решения. Интересно? Добро пожаловать под кат.Читать полностью »
Пул соединений MySQL и как это можно использовать для распараллеливания
2015-03-07 в 19:26, admin, рубрики: .net, C#, c#.net, mysql, базы данных, многопоточность, параллельное программированиеЯ хочу поделиться со всеми читателями интересной темой, с которой столкнулся совсем недавно, и мне она понравилась. Развитие этой темы доставило мне удовольствие и добавило немного опыта в копилку. Вероятно, многие, а может и нет, сталкивались с пулом соединений БД. После ознакомления с этой интересной опцией мне захотелось написать статью и поделиться ею с вами. Возможно, статья получится немного длинной, но я думаю, что данный пост кому-то все же будет интересно почитать, и его заинтересует данная тема. Может быть наработки с этой статьи кто-то использует в своем проекте, в любом случае, мне будет интересно ее писать и рассказывать ее вам.
PHPixie 3.0 ORM или новый взгяд на ActiveRecord
2015-03-05 в 21:29, admin, рубрики: mongodb, mysql, open source, orm, php, phpixie, sql, базы данных, Веб-разработка, фреймворкУже закончен долгообещанная третья версия PHPixie ORM компонента. Он теперь полностью независим от фреймворка и может спокойно использоваться сам по себе. В связи с этим, пока продолжается работа над другими компонентами и пишется документация, разработчики составили небольшой туториал для того чтобы можно было уже начать работу с ОРМ. Ниже я предоставлю его перевод и добавлю несколько вещей от себя, но сначала давайте посмотрим чем полезным порадует нас эта версия:
- Большинство ORM используют Model классы, которые используются как для выполнения запросов так и для репрезентации самых записей в базе данных. Например так делают Kohana и Laravel. PHPixie разделила модель на Repository, Entity и Query, каждая из которых имеет строго свое предназначение.
- Кроме SQL баз данных (SQLite, PostgreSQL, MySQL) полностью поддерживается также Mongo. Вы сможете связать отношениями модели с SQL баз данных с моделями хранящимися в коллекциях Mongo.
- Чтобы поддерживать связи между разными базами ( например между таблицами в разных базах в MySQL ) много ORM используют отдельные запросы вместо join-ов и субзапросов. PHPixie же использует субзапросы всегда где это возможно.
- Поддержка встроенных сущностей в Mongo
- На 97% покрыта юнит тестами ( планируется 100% до конца этой недели), и еще на 75% функцыоналными тестами.
- Эффектывное использование Query позволяет уменьшить число запросов к базе. Например вам надо связать все топики автора с какими-то тегами. В большинстве ОРМ вам придется сначала найти топики, потом теги и тогда связать их ( 3 запроса к БД ). PHPixie позволяет сделать это за один запрос. Кстати пример этого есть в туториале снизу
Надеюсь я смог вас заинтересовать, теперь посмотрим на пример с ссылки вверху в переводе:
Читать полностью »
Сделай сам: MSc Computer Science на уровне топ американских университетов из дома
2015-03-01 в 9:26, admin, рубрики: computer science, базы данных, искусственный интеллект, Компиляторы, магистратура, математика, машинное обучение, образование, Программирование, системное программирование, метки: программированиеВступление
Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.
Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.
Надеюсь что эта статья будет полезна:
1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
2. Профессионалам, которые хотят закрыть «дыры» и пробелы
3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании
Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).