在与 Web 服务器相同的机器上运行数据库服务器似乎很简单,但是我们这样做是否冒了很大的安全风险?
环境将是 Windows 2008 服务器、Postgresql(最新版本,发布时可能是 9.0)和 Apache 2。
在 PostgreSQL 上设置一个 100 TB 的数据库(实际上大约 90 TB)而不在多个节点之间进行数据分片是否现实?是否有任何关于类似设置的成功案例/示例?
某些数据库维护任务(例如重新组织索引、移动文件、更改架构等)需要禁用任何正在使用该数据库的应用程序。
除了在您的网站上发布一条消息(例如“我们将从美国东部标准时间午夜至凌晨 4 点停机以进行服务器维护”)之外,还有哪些好的策略可以解决此问题?
我工作的那家小公司的领导层对 SaaS 感到非常兴奋,并正在将我们的产品推向 SaaS 部署 - 我对此感到担忧,因为产品的部分功能基于用户能够使用商业智能针对应用程序的底层数据库编写报告的工具。
当我问到我们计划如何在 SaaS 模型中提供该功能时,我得到了茫然的目光,回答很简单,我们将在互联网上公开数据库服务器,并允许人们查询数据库,就好像它在其中运行一样他们的公司网络。
这吓坏了我,但我不知道我是否只是偏执,或者是否有重要的理由担心。
所以我的问题是:是否可以适当地加强 Oracle 数据库服务器的安全性,以便我们不需要担心它会暴露在 Internet 上的事实?如果是这样,我应该研究哪些资源来学习做到这一点?该数据库将存储我们的客户不想向全世界公开的专有信息,但将这一功能置于 VPN 之后的提议已被明确拒绝。
我对强化 oracle 数据库的搜索几乎包含了“永远不要在防火墙上戳一个洞”这样的语句,所以这里的正确答案可能是“尽快更新你的简历”,但我感谢您提供的任何建议。
有没有办法检查 PostgreSQL 数据库的完整性和一致性?我了解 SQL ServerDBCC CHECKDB
并想知道是否有类似于 PostgreSQL 的东西。
我主要是一名系统管理员,除了安装数据库、设置帐户、授予权限等之外,我不直接使用数据库。我意识到如果老板走到我面前问:“什么是关系数据库?” 我可能无法给出令人满意的答案...我可能会嘟囔着有关按类别存储和组织数据的内容,您可以使用特殊的编程语言(即 SQL)查询这些数据。
那么有人可以就什么是关系数据库给出一个很好的“老板回答”吗?也许它与仅将数据存储在文件服务器上有何不同?巧妙但易于理解的类比和解释表、列、记录和字段的加分项。我将“老板回答”定义为对非技术人员的一个(可能是两个)段落的快速解释……主要是您的老板,在极少数情况下,他们实际上会问您整天都在做什么。
我们必须存储大约 300 万种产品的基本信息。目前,信息是一个 180 mb 的 CSV,每季度更新一次。
每天将有大约 30,000 次查询,但这些查询只是一个非常简单的键值存储。我们只需要查找产品 ID 并显示其余信息(这些信息都在一个记录中)。
这是针对 Web 的,因此快速的性能至关重要。
即使我们真的不需要关系数据库,我们是否应该使用 MySQL?我们应该每个季度生成 300 万个静态 html 文件吗?我们应该在 Amazon S3 或 Rackspace Cloud Files 之类的东西上为每个产品存储一行 CSV 吗?做这个的最好方式是什么?
我从 MysqlTunner.pl 收到此消息:
join_buffer_size >= 4 M 不建议这样做
另一方面,我在 Debian 的 my.cnf 指南中阅读了有关 jont_buffer_size 的内容:
此缓冲区用于优化完整 JOIN(没有索引的 JOIN)。在大多数情况下,这种 JOIN 对性能非常不利,但将此变量设置为较大的值会降低性能影响。有关完整 JOIN 的计数,请参阅“Select_full_join”状态变量。如果找到完全连接,则按线程分配
所以我想知道我应该相信哪一个?目前,我已将 join_buffer_size = 64M 设置为解决查询未特别优化的高流量站点的可伸缩性问题的努力的一部分。我很欣赏你在这方面的提示。
我们刚刚将旧的光纤 SAN 存储迁移到具有 24 个 SAS 600GB 磁盘的 IBM v3700 存储。
该存储直接连接到两台 IBM ESXi 5.5 服务器,每台服务器带有两个 6Gbps 多路径 SAS 控制器。
到目前为止,我已将我使用的存储配置为多个 RAID5 组。每个组将用于不同的服务器/目的。RAID 组主要是 OracleDB、Oracle 存档、SQL Server 和其他(文件服务器、邮件等)。最关键的应用程序是 Oracle 和 SQL Server。
我首先关心的是安全性,然后是我们应用程序的性能。所以我决定使用 RAID6 + 备件。
我现在主要关心的是,由于我们使用的是 ESXi,我是否应该将整个存储配置为一个 RAID,节省空间,并从 ESXi 为每个服务器创建数据存储卷,或者这不是一个好的做法,最好创建单独的硬件 RAID 组?
我在一个项目中工作,我的工作是构建一个数据库系统来管理大约 60,000,000,000 条数据条目。
项目背景是我要对每秒从大约30,000个RFID阅读器读取的大量消息进行实时存储。假设每个 RFID 阅读器每天生成 6,000 条消息,我必须向数据库中插入 180,000,000 个条目。
可能的数据条目类似于“time_stamp、Reader_ID、Tag_ID、other_msg_content”
将是基于时间范围、Reader_ID 和 Tag_ID 的查询 (SELECT)。查询不会很复杂。
现在在设计数据库系统,打算用MySQL。我的转储问题是:
使用 MySQL 是否明智,还是我应该求助于 Oracle(价格昂贵)或 HBase?
如果我必须使用 MySQL,知道如何构建集群吗?
如果我将消息插入表格中,很快表格就会很长。我想使用 Sharding 技术将长表拆分为许多短表。
3.a. 我想知道一个MySQL InnoDB表的合适长度,即插入多少条数据后,我要开始分片?
3.b. 有没有好的分片代理解决方案?我知道 spock 代理和其他一些,需要推荐。
我必须使用 MySQL 集群吗?或者我只是使用mysql主服务器和分片从服务器,并使用Replication来实现高可用?
假设我必须在 MySQL 中处理 20 TB 数据(1 年),我计划使用 20 个节点(PC 服务器,便宜),并且每个节点存储 1 TB 数据,这可能吗?欢迎提出任何意见。
非常感谢。
database ×10
mysql ×4
postgresql ×2
security ×2
amazon-s3 ×1
buffer ×1
csv ×1
hadoop ×1
hbase ×1
ibm ×1
maintenance ×1
oracle ×1
raid ×1
saas ×1
storage ×1
vmware-esxi ×1
web-server ×1