@proGO

Страница 480 из 1674
Roman
14.02.2017
23:10:47
Что мешает использовать mmap?

Phil
14.02.2017
23:11:03
Чо?

Dmitry
14.02.2017
23:11:49
Я так понял это "POSIX-совместимый системный вызов Unix, позволяющий выполнить отображение файла или устройства на память."

Или я ничего не понимаю

Google
Quet
14.02.2017
23:12:43
угу. половина вопросов в чатике про постгрес - как я выковыривал свои данные из фарша
это был один чувак который разломал себе рейд и пытался из него что-то вытащить потом

и таки вытащил любая другая база уже стала бы тыквой

Subbotin
15.02.2017
07:06:58
Возвращаясь к вопросам про БД. Товарищи, рекомендующие оную, пробовали каучбейз?

Тьфу. Не оную а монгу.

Утро-с

Alexei
15.02.2017
07:13:14
у нас couchbase используется на нескольких сервисах, но на высоконагруженных показал себя не очень хорошо, там aerospike подошел больше, может просто специфика такая

причем спайк на двух нодах, а коуч на 5-7, в сравнении

Phil
15.02.2017
07:27:45
Кстати. Чисто для меня - а аэроспайк сколько жрет и от скольки нод?

И я тут ещё гуглил - а что-то типа tinyDB есть?

Daniel
15.02.2017
07:38:58
на вопрос твой, фил, ответить невозможно. но! именно у аэроспайкак есть документ под названием capacity planing. и для распространенных применений там можно с высокой степенью вероятности расход памяти и диска посчитать

Sergey
15.02.2017
07:59:46
всем привет, есть знатоки обработки xml ?

Aleksandr
15.02.2017
08:00:17
ты сразу вопрос задавай

Google
i
15.02.2017
08:00:27
Это и был вопрос

Aleksandr
15.02.2017
08:01:15
тогда надо опрос провести

а Сергею профессиональный тест, показывающий его xml-уровень

впрочем нам надо всем такой тест пройти, т.к. знатоком будет тот, чей уровень выше уровня Сергея

Sergey
15.02.2017
08:02:27
есть xml вида <directory> <parent>2078351</parent> <inode>2078354</inode> <inode>2078355</inode> <inode>2078356</inode> </directory> хочу положить в структуру Directory []struct { Parent string xml:"parent" // Inode [] xml:"inode" } xml:"directory" как inode в структуре объявить ?

Denis
15.02.2017
08:02:30
Кстати. Чисто для меня - а аэроспайк сколько жрет и от скольки нод?
Искал тесты тарантула и аэроспайка, тарантул выгодно отличался от последнего по перфомансу, при этом не важно включен wal или нет

Daniel
15.02.2017
08:05:28
не знаю, как прокомментировать

я, в общем, не знаю, на каких тестах mem-only базы могут показывать разный перформанс

тарантул же mem-only?

Denis
15.02.2017
08:06:57
Там есть разные движки

В общем просто статью скину

Daniel
15.02.2017
08:07:19
статью давай

покритикуем :)

Subbotin
15.02.2017
08:07:43
Там есть разные движки
эээ. они сделали движок позволяющий работать с 129 гигайтами данных на 128 гигабайтах оперативки?

Denis
15.02.2017
08:08:24
Tarantool vs competitors: racing in Microsoft Azure – Medium https://medium.com/@rvncerr/tarantool-vs-competitors-racing-in-microsoft-azure-ebde9c5d619#.v9u57dl0v

эээ. они сделали движок позволяющий работать с 129 гигайтами данных на 128 гигабайтах оперативки?
Tarantool’s DBMS server uses the storage engine concept, where different sets of algorithms and data structures can be used for different situations. Two storage engines are built-in: an in-memory engine which has all the data and indexes in RAM, and a two-level B-tree engine for data sets whose size is 10 to 1000 times the amount of available RAM. All storage engines in Tarantool support transactions and replication by using a common write ahead log (WAL). This ensures consistency and crash safety of the persistent state. Changes are not considered complete until the WAL is written. The logging subsystem supports group commit. Tarantool’s in-memory storage engine(memtx) keeps all the data in  random-access memory, and therefore has very low read latency. It also keeps persistent copies of the data in non-volatile storage, such as disk, when users request “snapshots”. If a server stops and the random-access memory is lost, then restarts, it reads the latest snapshot and then replays the transactions that are in the log – therefore no data is lost. Tarantool’s in-memory engine is lock-free in typical situations. Instead of the operating system’s concurrency primitives, such as mutexes, Tarantool uses cooperative multitasking to handle thousands of connections simultaneously. There is a fixed number of independent execution threads. The threads do not share state. Instead they exchange data using low-overhead message queues. While this approach limits the number of cores that the server will use, it removes competition for the memory bus and ensures peak scalability of memory access and network throughput. CPU utilization of a typical highly-loaded Tarantool server is under 10%. Searches are possible via secondary index keys as well as primary keys. Tarantool’s disk-based storage engine is a fusion of ideas from modern filesystems, log-structured merge trees and classical B-trees. All data is organized into ranges. Each range is represented by a file on disk. Range size is a configuration option and normally is around 64MB. Each range is a collection of pages, serving different purposes. Pages in a fully merged range contain non-overlapping ranges of keys. A range can be partially merged if there were a lot of changes in its key range recently. In that case some pages represent new keys and values in the range. The disk-based storage engine is append only: new data never overwrites old data. The disk-based storage engine is named vinyl.

Subbotin
15.02.2017
08:11:10
смешно. надо пощупать будет как-нить

Sergey
15.02.2017
08:13:33
Массивом строк ?
да пока так и сделал, спасибо

Phil
15.02.2017
08:21:21
тарантул же mem-only?
ээээ... нет же

Google
Ruslan
15.02.2017
08:26:54
кто в emacs работает?

как там go-dlv использовать? подключил, настроил, но как взлететь не понимаю

Daniel
15.02.2017
08:40:27
corpix
15.02.2017
08:42:02
Помню как-то запускал так. Но сам дебаггер конкретно на моём проекте не заработал(не помню почему), так что я задвинул его в долгий ящик, потому что есть ощущение что он не готов

Ruslan
15.02.2017
09:47:45
так, заработало, но пока не в емаксе

Roman
15.02.2017
09:52:30
Коллеги, давайте уже соберемся и проведем тесты in-memory db

Вижу несколько заинтересованных лиц и имею потребность

Daniel
15.02.2017
09:54:03
давайте

собственно, вопрос в методике

потом я попробую серверов за так получить

если не выйдет - надо будет еще на DO как-то раскошелиться

Roman
15.02.2017
09:56:23
Вот такой план: 1. Список тестов 2. Список участников 3. Железо 4. Конфигурации 5. Тестововый софт

По п1. У меня в планах быстродействие и консистентность (ресет)

Daniel
15.02.2017
09:58:37
хорошо бы отдельно сингл-сервер и отдельно - кластер rf=3

Roman
15.02.2017
09:58:57
Да, кластер точно

Сколько машин нужно и каких?

Daniel
15.02.2017
10:00:25
я готов так или эдак играть в аэроспайк, в кассандру, в эластик и в крауту. in-mem, правда, только аэроспайк

машин надо 5

3 под кластер, 1 под клиента и 1 под мониторинг

Google
Roman
15.02.2017
10:01:03
А какую задачу тестируешь?

Эмулируешь

Daniel
15.02.2017
10:01:24
а там все просто с задачей же

запись и чтение, по ключу 40 байт

Roman
15.02.2017
10:02:16
Сессии?

Daniel
15.02.2017
10:02:24
например

на самом деле - это много что, не только сессии

но характерный паттерн для in-memory именно такой

Admin
ERROR: S client not available

Roman
15.02.2017
10:03:05
Редис, Тарантул почему не рассматриваешь?

Daniel
15.02.2017
10:03:38
я в них не умею

Ruslan
15.02.2017
10:03:53
Помню как-то запускал так. Но сам дебаггер конкретно на моём проекте не заработал(не помню почему), так что я задвинул его в долгий ящик, потому что есть ощущение что он не готов
поставил в систему gdb и delve, установил в емакс пакет go-dlv, запустил свою софтину, посмотрел pid, запустил dlv debug --headless, запустил M-x gdb, получил кучу окошек, tar ext :DLVPORT не коннектится :(

Roman
15.02.2017
10:04:15
я в них не умею
Ха, я строго наоборот :)

Phil
15.02.2017
10:18:54
на вопрос твой, фил, ответить невозможно. но! именно у аэроспайкак есть документ под названием capacity planing. и для распространенных применений там можно с высокой степенью вероятности расход памяти и диска посчитать
Да я просто чего-то переборщил. Я таки решил авторизацию API вынести в отдлельный сервис и там как бы бессмысленно делать не встроенную - когда понадобится что-то другое, там уже другие деньги и средства будут. А со встроенными всё равно какие-то терки оказались. Во блин

Mikhail
15.02.2017
10:31:43
Всем привет. Прошу помощи. Как можно в go сложить два слайса или массива? append не подходит, так как он только отдельные элементы позволяет добавить

Aleksandr
15.02.2017
10:32:32
а что гугл на запрос "golang slice merge" говорит?

тоже не знает?

Andrey
15.02.2017
10:32:53
s3 := append(s2, s0...)

первая ссылка в гугле )

сори конечно за нашу агрессивность

Google
Aleksandr
15.02.2017
10:33:30
но справочные вопросы надо решать справочниками

в виде гугла и доков

или в виде SO и доков)

Mikhail
15.02.2017
10:34:38
а что гугл на запрос "golang slice merge" говорит?
Спасибо, нашёл. Я просто на русском гуглил, там не было ничего

Denis
15.02.2017
11:08:38
через рекурсию

Daniel
15.02.2017
11:09:16
:)

Kirill
15.02.2017
14:48:21
Всем привет. Прошу помощи. Как можно в go сложить два слайса или массива? append не подходит, так как он только отдельные элементы позволяет добавить
var k int for i := 0; i < len(b); i++ { for bi := 0; bi < len(b); bi++ { if bi == k { a[len(a)] = b[k] } } k++ } а какой наиболее ужасный код вы смогли придумать для этой задачи?

Aleksandr
15.02.2017
14:51:50
смог только красивый https://play.golang.org/p/Cyx1era2A6

Denis
15.02.2017
14:51:57
a[21] = b[0] a[22] = b[1] a[23] = b[2] a[24] = b[3] a[25] = b[4] a[26] = b[5] a[27] = b[6] a[28] = b[7]

Олег
15.02.2017
14:52:10
str := strings.Join(slice1, "\n") + "\n" + strings.Join(slice2, "\n") result := strings.Split(str, "\n")

Kirill
15.02.2017
14:55:22
но он же не работает
я не проверял, писал прямо в телеге. но такое и не должно работать, по большому счету %)

Andrey
15.02.2017
14:56:01
ну мне за такой код в школе 5рки ставили :)

15 лет назад

Kirill
15.02.2017
14:56:19
Andrey
15.02.2017
14:56:31
Kirill
15.02.2017
14:56:35
а

я просто думал, может, там двенадцатибальная система

Страница 480 из 1674