Мне думается, это о многом говорит. Я вот вижу опять это мерзкое потребительское отношение к людям, как к ресурсам, которое пронизывает насквозь московскую действительность последних лет. Наверняка, они еще и каждый шаг, каждую фичу захотят контролировать, раз это наполовину их компания. Это путь в никуда.
После постов-линчей, где ваш аналитик разносит стартапы в пух и прах, ожидал чего-то большего. Вы же сами писали «для нас приоритетны малоконкурентные ниши», а эта ниша просто пипец, как занята и, кстати, Google тоже запускает свой поиск билетов.
Хотя в тексте несколько раз написано, что у проекта есть «фишки», при них ничего не сказано, пара весьма неоднозначных дизайнерских решений — это все?
Просто интересно было бы узнать, почему выбрали именно этот сайт? Кстати, ему вроде как поплохело.
Поэтому такие языки, как Python и Ruby завоевывают популярность, т.к. позволяют сосредоточиться на задаче, а не на средстве ее решения. Осталось подождать, пока они сравняются по скорости хотя бы с Java и жизнь станет немного счастливее.
Да, понимаю все, прикипаешь душой к одной технологии, которую знаешь. У меня так было, когда переходил с .net на Java.
Ну, вот, если разобраться.
2. FIRST_VALUE — первое значение в отсортированном списке, значит надо где-то хранить этот список и добавлять в него элементы
LAG и LEAD — отсортированный связанный список, никакой магии
Oracle внутри себя скорее всего строит эти структуры данных и работает с ними.
4. ну, в общем, решаемый вопрос.
Насчет масштабируемости Оракла не буду врать, не в курсе, видел его в продакшене только на мощных сановских серверах.
Я не против Оракла, просто мне думается, что большинство решений делать на нем проекты принимается под влиянием бренда или откатов, без всякого технического обоснования.
Хорошо, давайте сразу оговоримся, что мы хотим показать, что все это можно и не сложно сделать без Oracle.
Потому как обсуждать, что и как сделать проще и элегатнее нет смысла, т.к. человеку проще работать с тем, с чем он умеет работать, согласны?
Пойдем по пунктам:
1. Это смотря с чем сравнивать. Если у нас NoSql решение, то нам план запроса по барабану, нам только данные получить.
Если другие базы, то почему не hibernate или аналоги.
2. Аналитические функции бывают разные и вряд ли вы их все используете
Сумму можно сделать через счетчик, аналогично средние.
3. Map/reduce
4. Если абстрагироваться, то Вам просто нужен сервис, который выдает последовательно возрастающие числа, это такая проблема?
Я вижу, что Вы меня превратно поняли. Понимаете, я написал о вынесении логики из Oracle, при чем здесь «монстрообразное неповоротливое приложение»? Все уже давно используют SOA. Я не очень понимаю, как все это вообще связано с непосредственно вынесением логики в PL/SQL.
Реально, из всей этой простыни текста я вынес только 1 технологический комментарий.
какую одну таблицу с десятками миллионов записей как правильно сджойнить с другой таблицей с миллионами записей так чтобы сразу не парализовать работу?
Я Вам отвечу — а Вы не джойньте. Денормализуйте данные, используйте map/reduce.
Не стоит искать проблемы там, где их нет. БД — это просто хранилище данных.
Вы, вероятно, вложили немало сил и времени в изучение Oracle, но иногда стоит взглянуть на проблему и под другим углом. Если этого не делать, то прогресса не будет.
«Невозможно написать универсальное приложение, которое одинаково эффективно будет работать на всех СУБД»
Можете аргументировать? Приведите мне пример такого приложения и мы вместе разберемся, что там невозможно.
С возрастом приходит желание разбираться в сути вещей, а не сливать карму.
Давайте не будем о «серьезном бизнесе», это не аргумент. Мы разработчики, а не маркетологи, давайте рассуждать о технологических решениях. Я не очень понимаю, почему вы пишите о сложной логике. Я написал, что логика не должна быть на уровне СУБД, при чем здесь сложность?
За примером сложной логики и высоких нагрузок без Oracle, пожалуйста — Google, Discuss, их много. В моем опыте — покер Ongame Network.
Тут не может быть 2х мнений. Если писать бизнес-логику на языках общего назначения, то поддерживать ее гораздно проще.
Понимаете, компилируемые языки, юнит-тесты, простые решения, отсутствие возможности что-то поправить на production сервере, все это значительно сокращает количество ошибок и располагает писать надежный код.
И, о ужас, вы сможете отказаться от использования Oracle, потому что не будете завязаны на конкретную СУБД.
Я даже позволю себе лирическое отступление.
Когда-то давно, ну, лет может 5-8 назад не было такого количества разных решений для работы с данными, никто не знал ни про какие map/reduce и nosql решения.
Зато был Oracle, который представлялся этакой серебрянной пулей и волшебно решал все проблемы с производительностью, стоил он, да и стоит сейчас тоже «волшебно».
Соотвественно была построена целая индустрия людей, которые знали только Oracle и гребли немеряно денжищ на этом.
Сила бренда по-прежнему велика, но зачем писать новые проекты под Oracle?
К сожалению, есть много организаций, которые рефлексивны по сути, например, банки, гос. структуры, корпорации-монстры и, единожды подсев, они
уже плотно сидят на этой Oracle игле.
Сейчас Вы можете написать приложение под MySql, PostgreSql, даже NoSql и оно будет не менее надежным и производительным, это почерпнуто из опыта.
Вот таким деятелям, которые выносят бизнес-логику на уровень СУБД надо оторвать руки и засунуть в место, откуда они у них и должны произрастать. Блин, 21 век на дворе, все эти танцы с бубном вокруг СУБД уже давно пора заканчивать.
Понимаете, будущую успешность проектов парни из YCombinator определяют «чутьем». Так они отличают команду, которая сделает проект от команды, которая не потянет и сломается.
Команда для них важнее идеи, многие их участники меняют идеи в процессе работы. Но чтобы находить правильных людей нужно самому быть правильным. В русских же людях, даже успешных предпринимателях все еще слишком много говна, потому что им самим никто не помогал, а только вставлял палки в колеса. Они везде видят подвох и кидалово, и это не случайно, действительно, так и есть.
В YCombinator бывшие выпускники бесплатно помогают новеньким, вы можете у нас представить себе чью-то безвозмездную ощутимую помощь?
Вы готовы поддержать команду, если она начнет пробуксовывать, найти нужные слова?
Или вы скорее выбросите их к черту и найдете другую команду?
К чему я все это. Даже если Вам удастся технически воспроизвести структуру инкубатора, самая важная его часть — это люди, те кто отвечает за решения, начать надо с этого, а не с самих стартапов и денег.
В Вашем топике я не вижу желания помогать предпринимателям, я вижу ту же жажду быстрой наживы с талантливых ребят, которые слепят на коленке следующий игровой хит.
Скажите, а отсюда версия не подошла?
Просто ставить Ubuntu на виртуалке только ради того, чтобы погонять Redis…
Кстати, «фичи» Redis я в коде не увидел, только простейший get set, для этого подойдет и memcached, и любое другое хранилище.
Что-то Вы перемудрили, мне кажется.
Мне тут знакомый разработчик из Вашей компании сообщил, что система почти полностью реализована на PHP/MySQL. Довольно смелый выбор для платежного шлюза. Может сделаете отдельный топик о технических решениях, как там внутри у вас это устроено и масштабируется? Было бы интересно.
Присоединяюсь, сделали большое дело в одиночку и довели его до конца, это здорово.
А то, что сайт прилег — это вряд ли связано с Хабраэффектом, его переоценивают, мощный сервер не должен ложиться от 1000 одновременных заходов.
Silverlight изначально был мертворожденной технологией, потому что он был реально не нужен уже когда появился, просто технология опоздала лет на 7.
Конечно, всегда найдутся хомяки, готовые схавать все, на чем стоит шилдик «new», но зачем негодовать не понятно, надо думать было на шаг вперед.
На HN был еще взгляд со стороны потребителя купона.
Если кому лень много читать, то выводы там такие:
человек с купоном в ресторане = клиент второго сорта, ему нальют поменьше и подороже,
если заведение хорошее, то ему Groupon нафиг не сдался и так люди будут ходить и друзьям рекомендовать.
Поддержу вопрос. Система тендеров и гос. закупок прогнила насквозь, она просто не работает в таком виде, особенно в сфере ИТ, примеров немало уже было.
Не проще ли создать единый центр по разработке и внедрению софта для нужд страны и привлечь туда компетентных людей? Сколько можно позволять распиливать бюджет на создание функционально идентичных продуктов и позволять откровенно некомпетентным людям заниматься в стране информационными технологиями? Здесь на Хабре уже находились энтузиасты, которые готовы бесплатно, в свободное время сделать для государства что-то полезное, не пора ли обратить внимание на этих людей и помочь подобной инициативе?
Хотя в тексте несколько раз написано, что у проекта есть «фишки», при них ничего не сказано, пара весьма неоднозначных дизайнерских решений — это все?
Просто интересно было бы узнать, почему выбрали именно этот сайт? Кстати, ему вроде как поплохело.
Ну, вот, если разобраться.
2. FIRST_VALUE — первое значение в отсортированном списке, значит надо где-то хранить этот список и добавлять в него элементы
LAG и LEAD — отсортированный связанный список, никакой магии
Oracle внутри себя скорее всего строит эти структуры данных и работает с ними.
4. ну, в общем, решаемый вопрос.
Насчет масштабируемости Оракла не буду врать, не в курсе, видел его в продакшене только на мощных сановских серверах.
Я не против Оракла, просто мне думается, что большинство решений делать на нем проекты принимается под влиянием бренда или откатов, без всякого технического обоснования.
Потому как обсуждать, что и как сделать проще и элегатнее нет смысла, т.к. человеку проще работать с тем, с чем он умеет работать, согласны?
Пойдем по пунктам:
1. Это смотря с чем сравнивать. Если у нас NoSql решение, то нам план запроса по барабану, нам только данные получить.
Если другие базы, то почему не hibernate или аналоги.
2. Аналитические функции бывают разные и вряд ли вы их все используете
Сумму можно сделать через счетчик, аналогично средние.
3. Map/reduce
4. Если абстрагироваться, то Вам просто нужен сервис, который выдает последовательно возрастающие числа, это такая проблема?
Реально, из всей этой простыни текста я вынес только 1 технологический комментарий.
Я Вам отвечу — а Вы не джойньте. Денормализуйте данные, используйте map/reduce.
Не стоит искать проблемы там, где их нет. БД — это просто хранилище данных.
Вы, вероятно, вложили немало сил и времени в изучение Oracle, но иногда стоит взглянуть на проблему и под другим углом. Если этого не делать, то прогресса не будет.
С возрастом приходит желание разбираться в сути вещей, а не сливать карму.
За примером сложной логики и высоких нагрузок без Oracle, пожалуйста — Google, Discuss, их много. В моем опыте — покер Ongame Network.
Понимаете, компилируемые языки, юнит-тесты, простые решения, отсутствие возможности что-то поправить на production сервере, все это значительно сокращает количество ошибок и располагает писать надежный код.
И, о ужас, вы сможете отказаться от использования Oracle, потому что не будете завязаны на конкретную СУБД.
Я даже позволю себе лирическое отступление.
Когда-то давно, ну, лет может 5-8 назад не было такого количества разных решений для работы с данными, никто не знал ни про какие map/reduce и nosql решения.
Зато был Oracle, который представлялся этакой серебрянной пулей и волшебно решал все проблемы с производительностью, стоил он, да и стоит сейчас тоже «волшебно».
Соотвественно была построена целая индустрия людей, которые знали только Oracle и гребли немеряно денжищ на этом.
Сила бренда по-прежнему велика, но зачем писать новые проекты под Oracle?
К сожалению, есть много организаций, которые рефлексивны по сути, например, банки, гос. структуры, корпорации-монстры и, единожды подсев, они
уже плотно сидят на этой Oracle игле.
Сейчас Вы можете написать приложение под MySql, PostgreSql, даже NoSql и оно будет не менее надежным и производительным, это почерпнуто из опыта.
Команда для них важнее идеи, многие их участники меняют идеи в процессе работы. Но чтобы находить правильных людей нужно самому быть правильным. В русских же людях, даже успешных предпринимателях все еще слишком много говна, потому что им самим никто не помогал, а только вставлял палки в колеса. Они везде видят подвох и кидалово, и это не случайно, действительно, так и есть.
В YCombinator бывшие выпускники бесплатно помогают новеньким, вы можете у нас представить себе чью-то безвозмездную ощутимую помощь?
Вы готовы поддержать команду, если она начнет пробуксовывать, найти нужные слова?
Или вы скорее выбросите их к черту и найдете другую команду?
К чему я все это. Даже если Вам удастся технически воспроизвести структуру инкубатора, самая важная его часть — это люди, те кто отвечает за решения, начать надо с этого, а не с самих стартапов и денег.
В Вашем топике я не вижу желания помогать предпринимателям, я вижу ту же жажду быстрой наживы с талантливых ребят, которые слепят на коленке следующий игровой хит.
Просто ставить Ubuntu на виртуалке только ради того, чтобы погонять Redis…
Кстати, «фичи» Redis я в коде не увидел, только простейший get set, для этого подойдет и memcached, и любое другое хранилище.
Что-то Вы перемудрили, мне кажется.
Шучу, отличная статья, спасибо. Винда маст дай.
А то, что сайт прилег — это вряд ли связано с Хабраэффектом, его переоценивают, мощный сервер не должен ложиться от 1000 одновременных заходов.
Конечно, всегда найдутся хомяки, готовые схавать все, на чем стоит шилдик «new», но зачем негодовать не понятно, надо думать было на шаг вперед.
Если кому лень много читать, то выводы там такие:
человек с купоном в ресторане = клиент второго сорта, ему нальют поменьше и подороже,
если заведение хорошее, то ему Groupon нафиг не сдался и так люди будут ходить и друзьям рекомендовать.
Не проще ли создать единый центр по разработке и внедрению софта для нужд страны и привлечь туда компетентных людей? Сколько можно позволять распиливать бюджет на создание функционально идентичных продуктов и позволять откровенно некомпетентным людям заниматься в стране информационными технологиями? Здесь на Хабре уже находились энтузиасты, которые готовы бесплатно, в свободное время сделать для государства что-то полезное, не пора ли обратить внимание на этих людей и помочь подобной инициативе?