Bredonosec> ))) лучше денег дай )))
А ты купи слона!
Bredonosec> ну.. я как-то запомнил, что в сша самые дешевые мощности для хостинга чего угодно, вот и подумал, что наём сервов на некоторое время не есть что-то экстраординарное по сумме.. Впрочем, могу ошибаться.
Это те, которые тебе ничего не гарантируют.
Кстати, вот там виртуализация используется вовсю. Но, практически, ни один бы не потянул нашу Базу. А, как хочешь с хотя бы парой 9-от после запятой, то цены совсем другие.
Bredonosec> Про экзотическое железо и мейнфреймы не буду спорить, не знаю. Знаю, что наша контора закупила парочку блейдов весной, и видел, как поочередно то один то другой сервис переводили на виртуальные машины.
Ну, так у меня и в СА-ке, и на нонешней работе, и дома (с далёкого 1999 года) виртуалки используются — на работах GSX, ESX и другие сервера. На моей машинке от Сана стоит, а домашнем лине стоит KVM поддерживаемая, ВМВаря, от Сана. Так вот на группу из 15 человек одного блейд сервера не хватает. Помирает железная машинка, если мы начинаем тестировать все сразу. Виртуализация она такая, хороша, когда 100% загрузки нет. Иначе начинаешь ждать. Скажем, наша База помрёт на виртуальных машинах или виртуальная машина помрёт очень быстро.
Bredonosec> То, что я высказал, буквально описывали в ноябре на семинаре "Инновации ставшие стандартом" представители айбиэма, интела и вмвари.
Ага, как же.
Стало стандартом потому, что обычному человеку и малому бизнесу не надо очень мощной машины. Скажем, если в конторе 50 человек, они заняты не разработкой софта, не вводом/обработкой данных и не поддержкой хостинга, то им действиетльно будет дешевле захостится на виртуалках. Лучше у кого-то. А не покупать машинки и держать человека, чтобы он держал эти машинки в поднятом состоянии. Но в той же СА-ке только серверов мыльных было более 30 штук. И то падали. Попытались их на виртуалки перевести. Упали все мыльные сервера. Опять-таки, надо принимать во внимание, что одна железяка с виртуалками упадёт — минус куча машин. Поэтому подбор случаев, когда виртуалки могут полностью удовлетворить, должен быть очень тщательным. Ну и убер решением во всех вариантах не является.
Bredonosec> увы, прямую линку уже не найти на Go-tech
Да не надо линку. Я же сам частично разрабатывал софт, который управлял виртуалками, как часть инициативы в СА-ке.
Так что все маркетинговые слова знаю.
Bredonosec> а как это выглядит со стороны юзера? Дважды в систему вводит данные? Или есть некая автосинхронизация?
В нашем случае пришлось написать примочки на старую систему и на новую систему, общение через WebServices. Т.е. старая система сообщала про новые записи, вебсервис их перекодировал, лазая по старой БД, новой БД, специальным БД, и отдавал новой системе. Как видишь, это сильно выходит за рамки того, что товарищ написал.
Bredonosec> масштабы и нелинейность - не спорю. Но принципиальную невозможность этим подтверждать - несогласен.
А я не говорю про принципиальную невозможность. Просто ресурсы ограничены. Никто не даст "бюджет США" на то, чтобы взять и обновить с полным дублированием оборудования.
Bredonosec> (шепотом - а у нас некоторые работники систему документооборота, введенную в 2003, до си пор не понимают =))
Ну, не знаю. В банке был целый отдел, который отвечал за тренировки. Т.е. понимать целиком они не понимали. Но какие кнопки нажимать в каком стандартном случае, вроде, знали.
И всегда в филиале был человек, который разбирался лучше. Ну и всегда могут позвонить в поддержку. Понятно, что 100% покрыть не удавалось, но задача, как обычно, ставилась 80/20.
Как они их тренировали — не знаю.
Может током закрепляли навык, может печенюшками.
Bredonosec> А контроль ошибок никакой не предусмотрен в системе?
Подожди, а причём тут контроль? У тебя приципиально наполнение БД другое. И поэтому код в старой системе не сможет корректно обрабатывать данные из новой БД, и наоборот, из новой системы не может корректно обрабатывать данные из старой БД. Смотри, у тебя раньше 000 раньше был признаком временного SSN, а 999 были нормальные номера. А стало 999 — временный SSN, а 000 — нормальным. Т.е., если хочешь написать систему, которая работает корректно с обеими БД, то тебе надо ещё дополнительный бит информации на каждый SSN — принадлежность (или источник) к БД. И это надо для всех обрабатывающих программ.
Bredonosec> нууу.. при таком подходе любое преобразование невозможно )) Bredonosec> не спорю, что при более глубокой проработке оно может быть необходимо, но на этапе концептов - не думаю)
Ы? Это как? На солнце ночью полетим?
Bredonosec> Мне кажется, ты несколько преувеличиваешь...
Скажем, только eHealth в СА-ке имел около несколько лимонов строчек кода.
Число строк только для файлов .C и .H на моём текущем проекте — 5,521,821. Это не считая java, cpp, hpp, c, h, py, sh и PL/SQL. А проектов много. Часть кода общая, но есть проекты, где всё своё. Скажем, управление метро и трамваями — всё своё. Оптимальное планирование — тоже всё своё. У железячников куча своего кода. Т.е. по компании, я бы сказал, у нас точно более 50,000,000 строчек кода. Это по американской части. У итальянцев, я думаю, что не меньше.
Bredonosec> эээ... или я не так описал, или ты не так понял.. Bredonosec> У нас база общая. Софт, обрабатывающий эту базу, на нескольких серверах лежит. Они автоматически переключаются (так понимаю, в порядке лоад балансинга) + включаясь взамен зависших. Разумеется, время от времени всё безбожно глючит и виснет (тогда и мне перепадает, хоть я за то не отвечаю вовсе, просто ко мне проще дозвониться ) Bredonosec> На некоторых из серверов может использоваться модицицированный вариант (или новый вариант) обработчика.
Дык, проблема в том, что в БД разные данные. Плевать, где код лежит. Старый и новый не могут вместе работать с одной и той же БД. В этом проблема. Лоад балансинг и прочее, это к архитектуре системы и её масштабируемости. А тут без этого проблема.
Bredonosec> Эти сервера дают попользоваться одному отделу и следят за результатом.
А как ты дашь одному отделу/филиалу, если у них БД разные? Соответственно и код. Ну и кучу вещей система сама обрабатывает. Те же пенсии ветеранам и просто пенсионерам, те же пособия по безработице, медикэйер, медикэйт, пенсионные отчисления, куча всего другого. И всё это должно быть сделано только один раз, а во внимание принимается вся история — размер пенсии, к примеру, зависит от предыдущих отчислений.
Bredonosec> У вас данный номер, социальный который меняется, он и является идентификатором в бд? Или таки есть иной? Чтоб, скажем, вносить в строку бд ячейку и со старым и с новым. И просто кто работает по новой системе, с новой версией пакета, получает ячейку с новым номером, а кто со старой - ячейку со старой. Или такой вариант тоже чрезмерно сложен? (хоть не улавливаю, чем)
Ы! Т.е. ты хочешь поменять структуру БД, при этом ещё и старые проги должны работать. А как ты в БД узнаешь, какая программа делала запрос? А в новых программах? А как ты потом новые в старые переделаешь (для другого изменения)? Т.е. где-то надо будет закодировать, какое поле программка должна запрашивать. В коде ли, в ini файле, в самой БД, но надо это сделать. Ну и видимо, каждое поле в БД надо бы продублировать.
Т.к. неизвестно, какое из них захочется поменять в будущем. Правда проблемы с индексами начинают возникат — они тоже множаться. Скажем тот же oracle partitioning по обоим полям не удасться сделать. Размер при этом может растёт очень быстро.
Bredonosec> А в чем корневое различие в собственно бд? Почему решение из абзаца выше неприменимо и сообветственно общая структура бэкапа неприменима?
Хотя бы потому, что БД там существенно больше 40 лет. И нет у неё точно такой структуры. А дублировать каждое поле — накладно. Ну и минимальной переделкой не обойтись.