F
F
FenrirR2015-04-15 19:59:02
SQL
FenrirR, 2015-04-15 19:59:02

Is it possible to communicate anonymously on the network that satisfies the following requirements?

Is it possible to communicate on the Internet (on a certain site or outside it), in which the following principles would be observed and the requirements would be satisfied:

  1. All users of the site must be completely "anonymized", with the exception of nicknames.
  2. The server through which the data will be transferred should not store these same data longer than the period set by the user.
  3. The data uploaded by the user should be accessible only to him and to those whom he allows access to them.
  4. Users who have access to the data of others should not be able to save and / or transfer them in any way to third parties.
  5. Users in a conversation must be sure that they are communicating with the person they wanted to communicate with.

Technology, protocols and methods of data transmission do not matter if all of the above is observed. Is it possible?

Answer the question

In order to leave comments, you need to log in

7 answer(s)
T
ThunderCat, 2018-04-02
@ThunderCat

there are a lot of records in the products table (about 1 million)

it's not much, it's ok
and how did you guess to drag this nonsense here? On the contrary, with the exit from internal joins, the selection by id will be reduced, as a result, in the products table there will be only the join of the necessary ids (which is similar to the where in selection, only with less restrictions, such as order and limit). For this joint, small tables, get a model_id from them, and the join is already being processed using it.
I would denormalize the product, add another brand_id to it, but that's it, trifles.

S
shurshur, 2018-04-02
@shurshur

And indexes on foreign key are constructed? A million is not enough for join to work badly.
There is only one alternative way - denormalization. All entities must be added directly to the products table in separate columns. To select only from this table.

E
Eugene, 2018-04-02
@immaculate

Как уже сказали, вы не там смотрите. 1 млн — это немного, и запрос, даже с JOIN — очень простой, любая СУБД должна проглатывать его не поперхнувшись.
Скорее всего, вам надо тюнить настройки своей БД, там явно что-то не в порядке. Вот, например, статья для PostgreSQL: https://ruhighload.com/%D0%A2%D1%8E%D0%BD%D0%B8%D0...
Еще подобные статьи не раз публиковались на Хабрахабре.
Для начала надо показать здесь вывод EXPLAIN ANALYZE запроса (или аналог для вашей СУБД).

V
Vlad_fox, 2018-04-02
@Vlad_fox

не хотите JOIN - можете так:
select p.id, p.name
from product p
where p.model_id in (
select m.id from models m
inner join brands b on b.id = m.brand_id
inner join countries c on c.id = b.country
where
m.brand_id in () -- фильтруете бренды
and b.country in () -- фильтруете страны
and m.id in () -- фильтруете модели
)
вложенный подзапрос возвратит набор отфильтрованных model_id.
для огромной (шучу) таблици product желателен индекс по model_id.

D
Dan and Nata, 2015-04-15
@nataden

The data uploaded by the user should be accessible only to him and to those whom he allows access to them.
- nothing will save you from F12 or a screenshot.
Users in a conversation must be sure that they are communicating with the person they wanted to communicate with.
- from the protocol of interrogation: "that day my sister had friends visiting, one of them could use my computer"

G
Guest, 2015-04-15
@Guest

twister ?
p.4 - as already mentioned above, it is unrealistic, because it is impossible.
item 5 - you communicate with the person who owns the key, and whether he is sitting tied to a chair with a soldering iron in the appropriate place ....

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question