From: | "Denis A(dot) Egorov" <denis(dot)egorov(at)virtonconsultants(dot)com> |
---|---|
To: | vvislobokov(at)lukoilperm(dot)ru |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: Есть л |
Date: | 2005-07-04 10:04:39 |
Message-ID: | 20050704100438.GI19807@virtonconsultants.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Здравствуйте, Viktor Vislobokov!
Я думаю что могу немного помочь в этом вопросе.
Насколько я понял задача стоит разделения трафика на типы, в моём
слечаее это был мир/украина.
Тоже сначала думал всё пихать в БД, но это очень дорого обходится, как в
объёмах так и в обработке.
И решил что лучше всего брать fprobe(не из Debian) и ставить flow-tools
и писать соответствующие скрипты.
А в базу складывать уже результаты, например раз в полчаса.
Скриптами могу поделиться.
On Mon, Jul 04, 2005 at 03:33:12PM +0600, you wrote:
->
-> >>Но мне бы хотелось сравнить значение именно со списком! КАК?
-> >>
-> >>
-> >
-> >А может это просто чрезмерное увлечение вложенными запросами? :)
-> >
-> >SELECT * FROM nets_tbl WHERE 'xxx.xxx.xxx.xxx' << net AND name='perm' ;
-> >
-> >
-> >
-> Вот что бывает, когда пытаешься упросить задачу для объяснения. ;)
-> Всё сложнее, поэтому (на мой взгляд) и понадобился список. Я сильно
-> упростил задачу, чтобы дать понять, что я хочу. В итоге получил более
-> рациональное и правильное решение, но увы не применимое в моём случае, а
-> только в том случае, который я описал.
->
-> Ладно попробуем снова, теперь по полной программе:
-> Есть таблица тафика:
-> CREATE TABLE traffic_tbl (
-> id SERIAL PRIMARY KEY,
-> tdate DATE,
-> src_ip INET NOT NULL,
-> src_port INT,
-> dst_ip INET NOT NULL,
-> dst_port INT,
-> size INT4 NOT NULL
-> );
-> где полный трафик
->
-> Есть таблица сетей:
-> CREATE TABLE nets_tbl (
-> id SERIAL PRIMARY KEY,
-> name VARCHAR(40) NOT NULL,
-> net INET NOT NULL
-> );
-> В этой таблице есть ряд записей про пермские сети и ряд записей про IP
-> адреса сетевых интерфейсов компьютера alpha
->
-> Хочу получить данные о всём пермском трафике, исходящем с компьютера
-> alpha по всем сетевым интерфейсам
-> в некую таблицу results_tbl:
->
-> INSERT INTO results_tbl (month, year, note, size)
-> VALUES(4,2005,'Пермский исходящий трафик с alpha',
-> (SELECT sum(size) FROM traffic_tbl WHERE
-> src_ip IN (SELECT net FROM nets_tbl WHERE name='alpha') AND
-> dst_ip __________IN__________ (SELECT net FROM nets_tbl
-> WHERE name='perm')));
->
-> Вот там где ______IN________ очень бы хотелось сравнить со списком. Как
-> сделать подругому - я не знаю, ибо не очень силён в SQL.
->
-> --
-> С уважением, Виктор
->
->
->
-> ---------------------------(end of broadcast)---------------------------
-> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
->
С уважением,
--
Denis A. Egorov
From | Date | Subject | |
---|---|---|---|
Next Message | Viktor Vislobokov | 2005-07-04 10:09:49 | Re: Есть ли та |
Previous Message | Viktor Vislobokov | 2005-07-04 09:33:12 | Re: Есть ли та |