@ru_python

Страница 7038 из 9768
Тимур
14.11.2018
13:08:41
Я наверно стар, парни. Ещё в оракл все через пакеты хранимых делали. Не люблю когда логику и ещё большую пишут в самом веб приложении

Тимур
14.11.2018
13:10:06
Просто вдруг начальник придёт и скажет переписывайте всю морду на nodejs. И всю логику переделывать. А так по опыту. Базу редко меняют. А вот приложения меняются.

Nikolay
14.11.2018
13:12:40
команда сишников за 1 день перешла на nodejs

Google
Nikolay
14.11.2018
13:12:42
ОК!

команда qa за 1 день перешла на scala

ОК!

LighteR
14.11.2018
13:13:43
Я наверно стар, парни. Ещё в оракл все через пакеты хранимых делали. Не люблю когда логику и ещё большую пишут в самом веб приложении
А расскажи плз как у вас в целом устроен подход к хранению и деплою все этого. Для каждой базы отдельный репозиторий с хранимками для нее? Как выкатываете это все? Просто выполняете весь sql, который там лежит? Как откатываетесь?

Tishka17
14.11.2018
13:14:35
LighteR
14.11.2018
13:14:53
Я в 00х сталкивался с проектом, в котором вся бизнес-логика была на pl/pgsql, и что-то у меня не очень хорошие впечатления остались от всего этого

Tishka17
14.11.2018
13:16:46
а чего. мы писали миграции, норм всё.

прям на sql

Oleg
14.11.2018
13:16:59
а чего. мы писали миграции, норм всё.
Имеется ввиду наверное логика в SQL

Но думаю с сохранением инфы о текущей версии не составит труда

Тоесть доп таблица

Tishka17
14.11.2018
13:17:22
хранимки вообще просто дропаешь и новые накатываешь

Google
Oleg
14.11.2018
13:17:26
Хорошо это или плохо…

Tishka17
14.11.2018
13:17:55
а таблицы оьбновлять - какая разница в чем писать - в sql или на более высоком уровне, логика примерно одна

Тимур
14.11.2018
13:18:54
А расскажи плз как у вас в целом устроен подход к хранению и деплою все этого. Для каждой базы отдельный репозиторий с хранимками для нее? Как выкатываете это все? Просто выполняете весь sql, который там лежит? Как откатываетесь?
Базы не сохранял в репозитария, обычно просто backup. И с них же восстанавливали когда нужно. Переносили с дева на прод смотря какая бд, но фактически ручками или через dblink часть и другими способами.

LighteR
14.11.2018
13:19:08
ну теоретически можно делать миграции на уровне SQL файлов
Ну я такой подход видел, да. Получается в каждой миграции полный код всех измененных процедур

Alex
14.11.2018
13:19:17
да

а как иначе то?

Тимур
14.11.2018
13:19:30
Тут в базах нет таких изменений как у исходниках

Tishka17
14.11.2018
13:19:51
Тимур
14.11.2018
13:19:53
Да и не должны. Там сто раз отмерь, один раз отрежь)

В отличие от приложений. Где хотели появляются каждый день)

LighteR
14.11.2018
13:23:39
и в чем проблема? ты же приложение целиком обновляешь
А с локами при пересоздании процедур проблем точно не будет? Меня еще смущает, что никакого canary testing не сделать при таком подходе

Tishka17
14.11.2018
13:31:57
А с локами при пересоздании процедур проблем точно не будет? Меня еще смущает, что никакого canary testing не сделать при таком подходе
Ну там есть разные подходы. Оракл позволяет например две копии процедур держать, но я тут уже не шарю

А с локами при пересоздании процедур проблем точно не будет? Меня еще смущает, что никакого canary testing не сделать при таком подходе
А что не так с тестированием? Мы обязательно гоняли все процедуры так же как обычный софт

И оракл их компилирует

LighteR
14.11.2018
13:32:49
А что не так с тестированием? Мы обязательно гоняли все процедуры так же как обычный софт
canary testing это когда новую версию видят например только 5% пользователей

Tishka17
14.11.2018
13:33:02
А. В этом смысле

Ну такого у нас не было. мы продукт пилили, а не сервис

Тимур
14.11.2018
13:34:14
canary testing это когда новую версию видят например только 5% пользователей
Это на уровне конечного приложения думаю можно сделать. В бд думать только о данных. И ничего более

Teratron
14.11.2018
13:38:57
Я наверно стар, парни. Ещё в оракл все через пакеты хранимых делали. Не люблю когда логику и ещё большую пишут в самом веб приложении
Все верно. Есть логика клиентская, есть серверная. Желательно чтобы серверная логика была в одном месте - в пакетах субд. Это и править легче и поддерживать. когда каждый сервис лезет в базу напрямую за данными или для их обновления минуя общий модуль работы с субд. это плохо. нужно работать с субд - все только через выделенный интерфейс, отвечающий только за работу с бд и больше ни за что.

Aragaer
14.11.2018
13:39:35
серверная логика должна быть на серверной части

Google
Aragaer
14.11.2018
13:39:43
и к субд это не имеет никакого отношения

субд это данные хранить

Teratron
14.11.2018
13:40:27
серверная логика в моем примере - часть субд Оракл.

Есть клиенты, есть сервер (он же субд)

Тимур
14.11.2018
13:40:51
Если так брать на оракл можно и сайт поднять) ну страничку.

Tishka17
14.11.2018
13:41:47
Прям html в базе генерили

Тимур
14.11.2018
13:41:58
И базы разные согласен. С nosql вообще нет хранимых, там spark. С хранимыми только оракл или постгре

LighteR
14.11.2018
13:42:02
В тех примерах, которые я видел, в процедурах была еще и бизнес-логика

Teratron
14.11.2018
13:42:05
возможность поднять сайт стоит немножко больше денег, которые заказчик не хочет платить

LighteR
14.11.2018
13:42:14
а это уже не просто интерфейс хранилища

Teratron
14.11.2018
13:42:48
В тех примерах, которые я видел, в процедурах была еще и бизнес-логика
аналогично, реальные задачи, работающие у 12 сотовых провайдеров по всему бывшему СССР

Aragaer
14.11.2018
13:42:57
то есть мало того, что орм делают, где бизнеслогику прикручивают намертво к системе персистенса, так еще хуже - бизнеслогику убирают внутрь базы

Teratron
14.11.2018
13:43:32
Тимур
14.11.2018
13:43:41
Не все уходят в микросервисы. Зачастую начинают и не замечают как появился монолит. Которую стало тяжело поддерживать.

LighteR
14.11.2018
13:43:44
Aragaer
14.11.2018
13:44:10
обработку данных надо сделать внутри базы. Но логику туда засовывать не надо

LighteR
14.11.2018
13:44:33
не убирают, а обработку данных делают на том что для этого лучше всего приспособлено.
Ну получается, что у нас бизнес-логика так или иначе будет размазана между приложением и субд

Тимур
14.11.2018
13:44:50
Spark же вроде не очень годится чтобы обслуживать пользователей
Напрямую с ним пользователи не работают. Со спарком работать только для обработки больших данных на фоне. А потом пересохранить весь чистый результат в отдельную таблицу, а там уже джанго например с ОРМ возьмёт быстро и просто

Google
??
14.11.2018
13:45:54
есть какой нибудь асинхронный таймер, который выполняется параллельно с выполнением комманды? что то типо timer.start() update_file() timer.stop() print(timer.get_time)

Тимур
14.11.2018
13:46:04
Ну получается, что у нас бизнес-логика так или иначе будет размазана между приложением и субд
Тут уже золотая середина комбинация всех методов от задач. Все хорошо и все плохо, если баланса нет. Я думаю

Admin
ERROR: S client not available

Aragaer
14.11.2018
13:47:59
взял текущее время, сделал что хотел, еще раз взял время и сравнил

Bogdan
14.11.2018
13:50:58


LighteR
14.11.2018
13:51:45
не убирают, а обработку данных делают на том что для этого лучше всего приспособлено.
А insert из процедуры чем-то принципиально лучше insert'а из приложения? Ну кроме сетевого round-trip'а

Bogdan
14.11.2018
13:53:18


Aragaer
14.11.2018
13:53:58
эксель же,

Тимур
14.11.2018
14:03:14
Был опыт. Данным вроде можно было указывать тип. Помню у меня так числа как строки выводились. В документации поищи типы.

Тимур
14.11.2018
14:06:09
наверно я не внимательно читал, спасибо, посмотрю сейчас
Это было давно, я наверно введу тебя в заблуждение. Лучше перепроверю сейчас)

наверно я не внимательно читал, спасибо, посмотрю сейчас
Посмотри тут. https://github.com/python-excel/xlwt/blob/master/examples/num_formats.py

Teratron
14.11.2018
14:17:50
А insert из процедуры чем-то принципиально лучше insert'а из приложения? Ну кроме сетевого round-trip'а
приложение не должно знать об устройстве БД и о том как хранятся данные. Если это так, это как минимум неграмотно спроектированная структура Клиент-серверного приложения..

LighteR
14.11.2018
14:20:02
приложение не должно знать об устройстве БД и о том как хранятся данные. Если это так, это как минимум неграмотно спроектированная структура Клиент-серверного приложения..
Это какое-то голословное утверждение. А что делать с субд, в которых нет процедур? Получается все пользователи nosql обречены на использование неграмотно спроектированных структур?

Teratron
14.11.2018
14:22:39
Вспомните декомпозицию и нормализацию в субд. тоже самое применяется и к приложению: Если приложению нужно читать данные - дайте ему набор view с описанием интерфейса. Нужно модифицировать данные - дайте ему интерфейс для изменения данных, а вся логика по подификации должна лежать в одном месте. А приложение должно обращаться к этому интерфейсу, дергая нужные методы и передавая для них данные. Отвечая на выше заданный вопрос. Голословное заявление это только длят тех что не знаком с понятием нормализации.

Google
Тимур
14.11.2018
14:25:46
Хранимых процедуры относятся только к sql, postgre и Oracle. Nosql играет по своим правилам

Teratron
14.11.2018
14:26:02
в примере дениса отдельный модуль работы с бд - data access layer, в проектах на Оракле - это все позволяет делать сам Оракл, в других СУБД, без пакетов и функций, вам все равно придется делать один модуль (если конечно вы ходите поддерживать этот один модуль, а не все места где есть работа с базой). Например в колонку таблицы N добавляется новое поле.

Тимур
14.11.2018
14:26:19
Пробовал cassandra. Вроде sql поддержка есть, а считай нет. Было странно.

Павел
14.11.2018
14:29:31
Всем привет народ! Кто-нить разбирается в redis-е? Я установил дополнительный модуль rejson, и хочу засетить словарик в виде json объекта rj = Client(host='localhost', port=6379, db=1, decode_responses=True) ob1 = { 'фывфыв': 42 } rj.jsonset('Ключ', Path.rootPath(), obj1) Если запросит его обратно то получаем print( rj.jsonget('Ключ') ) {'Ñ\x84Ñ\x8bвÑ\x84Ñ\x8bв': 42} Что -то с кодировкой, можт кто сталкивался?

Tishka17
14.11.2018
14:31:34
исходник в какой кодировке?

Павел
14.11.2018
14:32:11
Какой исходник? Python 3.6

Tishka17
14.11.2018
14:32:58
файл который ты запускаешь

твой

питоновский

и ещё: какая ОС?

Павел
14.11.2018
14:34:10
обычный файл в pycharm redis.py OC Mac os

Страница 7038 из 9768