GemStone-Linux-Apache-Seaside-Smalltalk.. насколько практичный 4 ГБ?

Используйте Scalar::Util::looks_like_number(), который использует внутренний Perl C looks_like_number API () функция, которая является, вероятно, самым эффективным способом сделать это. Обратите внимание, что строки "inf" и "бесконечность" рассматривают как числа.

Пример:

#!/usr/bin/perl

use warnings;
use strict;

use Scalar::Util qw(looks_like_number);

my @exprs = qw(1 5.25 0.001 1.3e8 foo bar 1dd inf infinity);

foreach my $expr (@exprs) {
    print "$expr is", looks_like_number($expr) ? '' : ' not', " a number\n";
}

Дает этот вывод:

1 is a number
5.25 is a number
0.001 is a number
1.3e8 is a number
foo is not a number
bar is not a number
1dd is not a number
inf is a number
infinity is a number

См. также:

5
задан Paulb 4 November 2009 в 01:08
поделиться

4 ответа

4 ГБ - это база данных вполне приличного размера. Не используя до этого драгоценный камень, я могу только предполагать, насколько эффективно он хранит объекты, но поиграв с несколькими другими подобными базами данных объектов (Mongodb, db4o). Я знаю, что вы сможете уместить несколько (5-10) миллионов записей, прежде чем даже приблизитесь к этому пределу. На самом деле количество записей сильно зависит от типа данных, которые вы храните.

В качестве примера я хранил ~ 2 миллиона списков и ~ 1 миллион транзакций в базе данных mysql, и пространство было <1 ГБ. У вас есть небольшие накладные расходы на сериализацию всего объекта, но их не так много.

Файлы определенно можно хранить в файловой системе.

3
ответ дан 18 December 2019 в 13:16
поделиться

I'm aware of one GLASS system that is ~944 MB and has 8.3 million objects, or ~118 bytes per object. At this rate, it can grow to over 36 million objects and stay under 4 GB.

As to "attachments", I'd suggest that even in an RDBMS you should consider storing larger, static data in the file system and referencing it from the database. If you are building a web-based application, serving static content (JPG, CSS, etc.) should be done by your web server (e.g., Apache) rather than through the primary application.

By comparison, Oracle and Microsoft SQL Server have no-cost licenses for a 4-GB database.

What do you think would be a good price for the next level?

6
ответ дан 18 December 2019 в 13:16
поделиться

4gb an issue... I guess you think you're building the next ebay!

1
ответ дан 18 December 2019 в 13:16
поделиться
[

] Если у вас несколько одновременных пользователей с вложениями 5МБ, вам все равно нужна отдельная стратегия для них, так как каждый из них занимает около двадцатой секунды полосы пропускания сети GBit ethernet. [

]
0
ответ дан 18 December 2019 в 13:16
поделиться